{
  "cells": [
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "# Fine Tuning HuggingFace `bert-base-uncased` for Yelp customer review prediction\n",
        "\n",
        "<img src=\"2022-09-30-22-51-29.png\" alt=\"drawing\" width=\"500\"/>\n",
        "\n",
        "## [Link to Dataset](https://www.kaggle.com/datasets/omkarsabnis/yelp-reviews-dataset)"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": []
    },
    {
      "cell_type": "code",
      "execution_count": 1,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "execution": {
          "iopub.execute_input": "2022-09-30T09:36:44.608566Z",
          "iopub.status.busy": "2022-09-30T09:36:44.607818Z",
          "iopub.status.idle": "2022-09-30T09:36:44.626449Z",
          "shell.execute_reply": "2022-09-30T09:36:44.625407Z",
          "shell.execute_reply.started": "2022-09-30T09:36:44.608526Z"
        },
        "id": "eYjDDEuv74c9",
        "outputId": "655aa151-6fc5-4c05-ec79-38d1d9753867",
        "trusted": true
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "Drive already mounted at /content/drive; to attempt to forcibly remount, call drive.mount(\"/content/drive\", force_remount=True).\n"
          ]
        }
      ],
      "source": [
        "from google.colab import drive\n",
        "drive.mount('/content/drive')"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 2,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "M0Fgxv7_7_Ex",
        "outputId": "095e7941-3703-435c-a85e-ad394181f721"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "Fri Sep 30 11:53:41 2022       \n",
            "+-----------------------------------------------------------------------------+\n",
            "| NVIDIA-SMI 460.32.03    Driver Version: 460.32.03    CUDA Version: 11.2     |\n",
            "|-------------------------------+----------------------+----------------------+\n",
            "| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |\n",
            "| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |\n",
            "|                               |                      |               MIG M. |\n",
            "|===============================+======================+======================|\n",
            "|   0  Tesla T4            Off  | 00000000:00:04.0 Off |                    0 |\n",
            "| N/A   63C    P8    10W /  70W |      0MiB / 15109MiB |      0%      Default |\n",
            "|                               |                      |                  N/A |\n",
            "+-------------------------------+----------------------+----------------------+\n",
            "                                                                               \n",
            "+-----------------------------------------------------------------------------+\n",
            "| Processes:                                                                  |\n",
            "|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |\n",
            "|        ID   ID                                                   Usage      |\n",
            "|=============================================================================|\n",
            "|  No running processes found                                                 |\n",
            "+-----------------------------------------------------------------------------+\n"
          ]
        }
      ],
      "source": [
        "!nvidia-smi"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 3,
      "metadata": {
        "execution": {
          "iopub.execute_input": "2022-09-30T09:36:44.629230Z",
          "iopub.status.busy": "2022-09-30T09:36:44.628320Z",
          "iopub.status.idle": "2022-09-30T09:36:55.188012Z",
          "shell.execute_reply": "2022-09-30T09:36:55.186812Z",
          "shell.execute_reply.started": "2022-09-30T09:36:44.629180Z"
        },
        "id": "Bx1rOj7yBKlN",
        "trusted": true
      },
      "outputs": [],
      "source": [
        "!pip install transformers tokenizers -q"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 4,
      "metadata": {
        "execution": {
          "iopub.execute_input": "2022-09-30T09:36:55.192837Z",
          "iopub.status.busy": "2022-09-30T09:36:55.191648Z",
          "iopub.status.idle": "2022-09-30T09:37:03.006669Z",
          "shell.execute_reply": "2022-09-30T09:37:03.004897Z",
          "shell.execute_reply.started": "2022-09-30T09:36:55.192795Z"
        },
        "id": "pM5JkntzA8TW",
        "trusted": true
      },
      "outputs": [],
      "source": [
        "from dataloader import *\n",
        "from modeling import *\n",
        "\n",
        "from transformers import BertTokenizer, BertModel, get_linear_schedule_with_warmup\n",
        "\n",
        "import torch\n",
        "from torch.utils.data import Dataset, DataLoader\n",
        "import torch.nn.functional as F\n",
        "from torch import nn, optim\n",
        "\n",
        "import numpy as np\n",
        "import pandas as pd\n",
        "import seaborn as sns\n",
        "from pylab import rcParams\n",
        "\n",
        "import matplotlib.pyplot as plt\n",
        "from matplotlib import rc\n",
        "\n",
        "from sklearn.model_selection import train_test_split\n",
        "from sklearn.metrics import confusion_matrix, classification_report\n",
        "\n",
        "from collections import defaultdict\n",
        "from textwrap import wrap\n",
        "\n",
        "%matplotlib inline\n",
        "%config InlineBackend.figure_format='retina'\n",
        "\n",
        "sns.set(style='whitegrid', palette='muted', font_scale=1.2)\n",
        "sns.set_palette(sns.color_palette(\"Paired\"))\n",
        "\n",
        "rcParams['figure.figsize'] = 12,8\n",
        "RANDOM_SEED = 42\n",
        "np.random.seed(RANDOM_SEED)\n",
        "torch.manual_seed(RANDOM_SEED)\n",
        "device = torch.device(\"cuda:0\" if torch.cuda.is_available() else \"cpu\")"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "VdsMuXmuj2Eh"
      },
      "source": [
        "# Read Dataset"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 5,
      "metadata": {
        "execution": {
          "iopub.execute_input": "2022-09-30T09:37:03.009081Z",
          "iopub.status.busy": "2022-09-30T09:37:03.008402Z",
          "iopub.status.idle": "2022-09-30T09:37:03.016102Z",
          "shell.execute_reply": "2022-09-30T09:37:03.015140Z",
          "shell.execute_reply.started": "2022-09-30T09:37:03.009044Z"
        },
        "id": "-snI7Qbt7l5z",
        "trusted": true
      },
      "outputs": [],
      "source": [
        "csv_file_path = '../input/yelp.csv' #local machine"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 6,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 206
        },
        "execution": {
          "iopub.execute_input": "2022-09-30T09:37:03.018002Z",
          "iopub.status.busy": "2022-09-30T09:37:03.017587Z",
          "iopub.status.idle": "2022-09-30T09:37:03.227174Z",
          "shell.execute_reply": "2022-09-30T09:37:03.226199Z",
          "shell.execute_reply.started": "2022-09-30T09:37:03.017968Z"
        },
        "id": "VmwfY_Id7l5z",
        "outputId": "4a6254db-40e7-4e72-ff47-af84e04479db",
        "trusted": true
      },
      "outputs": [
        {
          "data": {
            "text/html": [
              "\n",
              "  <div id=\"df-472df45f-71a8-4865-9696-9b116c6c83d5\">\n",
              "    <div class=\"colab-df-container\">\n",
              "      <div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>business_id</th>\n",
              "      <th>date</th>\n",
              "      <th>review_id</th>\n",
              "      <th>stars</th>\n",
              "      <th>text</th>\n",
              "      <th>type</th>\n",
              "      <th>user_id</th>\n",
              "      <th>cool</th>\n",
              "      <th>useful</th>\n",
              "      <th>funny</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>0</th>\n",
              "      <td>9yKzy9PApeiPPOUJEtnvkg</td>\n",
              "      <td>2011-01-26</td>\n",
              "      <td>fWKvX83p0-ka4JS3dc6E5A</td>\n",
              "      <td>5</td>\n",
              "      <td>My wife took me here on my birthday for breakf...</td>\n",
              "      <td>review</td>\n",
              "      <td>rLtl8ZkDX5vH5nAx9C3q5Q</td>\n",
              "      <td>2</td>\n",
              "      <td>5</td>\n",
              "      <td>0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>1</th>\n",
              "      <td>ZRJwVLyzEJq1VAihDhYiow</td>\n",
              "      <td>2011-07-27</td>\n",
              "      <td>IjZ33sJrzXqU-0X6U8NwyA</td>\n",
              "      <td>5</td>\n",
              "      <td>I have no idea why some people give bad review...</td>\n",
              "      <td>review</td>\n",
              "      <td>0a2KyEL0d3Yb1V6aivbIuQ</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2</th>\n",
              "      <td>6oRAC4uyJCsJl1X0WZpVSA</td>\n",
              "      <td>2012-06-14</td>\n",
              "      <td>IESLBzqUCLdSzSqm0eCSxQ</td>\n",
              "      <td>4</td>\n",
              "      <td>love the gyro plate. Rice is so good and I als...</td>\n",
              "      <td>review</td>\n",
              "      <td>0hT2KtfLiobPvh6cDC8JQg</td>\n",
              "      <td>0</td>\n",
              "      <td>1</td>\n",
              "      <td>0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>3</th>\n",
              "      <td>_1QQZuf4zZOyFCvXc0o6Vg</td>\n",
              "      <td>2010-05-27</td>\n",
              "      <td>G-WvGaISbqqaMHlNnByodA</td>\n",
              "      <td>5</td>\n",
              "      <td>Rosie, Dakota, and I LOVE Chaparral Dog Park!!...</td>\n",
              "      <td>review</td>\n",
              "      <td>uZetl9T0NcROGOyFfughhg</td>\n",
              "      <td>1</td>\n",
              "      <td>2</td>\n",
              "      <td>0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>4</th>\n",
              "      <td>6ozycU1RpktNG2-1BroVtw</td>\n",
              "      <td>2012-01-05</td>\n",
              "      <td>1uJFq2r5QfJG_6ExMRCaGw</td>\n",
              "      <td>5</td>\n",
              "      <td>General Manager Scott Petello is a good egg!!!...</td>\n",
              "      <td>review</td>\n",
              "      <td>vYmM4KTsC8ZfQBg-j5MWkw</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div>\n",
              "      <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-472df45f-71a8-4865-9696-9b116c6c83d5')\"\n",
              "              title=\"Convert this dataframe to an interactive table.\"\n",
              "              style=\"display:none;\">\n",
              "        \n",
              "  <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
              "       width=\"24px\">\n",
              "    <path d=\"M0 0h24v24H0V0z\" fill=\"none\"/>\n",
              "    <path d=\"M18.56 5.44l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94zm-11 1L8.5 8.5l.94-2.06 2.06-.94-2.06-.94L8.5 2.5l-.94 2.06-2.06.94zm10 10l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94z\"/><path d=\"M17.41 7.96l-1.37-1.37c-.4-.4-.92-.59-1.43-.59-.52 0-1.04.2-1.43.59L10.3 9.45l-7.72 7.72c-.78.78-.78 2.05 0 2.83L4 21.41c.39.39.9.59 1.41.59.51 0 1.02-.2 1.41-.59l7.78-7.78 2.81-2.81c.8-.78.8-2.07 0-2.86zM5.41 20L4 18.59l7.72-7.72 1.47 1.35L5.41 20z\"/>\n",
              "  </svg>\n",
              "      </button>\n",
              "      \n",
              "  <style>\n",
              "    .colab-df-container {\n",
              "      display:flex;\n",
              "      flex-wrap:wrap;\n",
              "      gap: 12px;\n",
              "    }\n",
              "\n",
              "    .colab-df-convert {\n",
              "      background-color: #E8F0FE;\n",
              "      border: none;\n",
              "      border-radius: 50%;\n",
              "      cursor: pointer;\n",
              "      display: none;\n",
              "      fill: #1967D2;\n",
              "      height: 32px;\n",
              "      padding: 0 0 0 0;\n",
              "      width: 32px;\n",
              "    }\n",
              "\n",
              "    .colab-df-convert:hover {\n",
              "      background-color: #E2EBFA;\n",
              "      box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
              "      fill: #174EA6;\n",
              "    }\n",
              "\n",
              "    [theme=dark] .colab-df-convert {\n",
              "      background-color: #3B4455;\n",
              "      fill: #D2E3FC;\n",
              "    }\n",
              "\n",
              "    [theme=dark] .colab-df-convert:hover {\n",
              "      background-color: #434B5C;\n",
              "      box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
              "      filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
              "      fill: #FFFFFF;\n",
              "    }\n",
              "  </style>\n",
              "\n",
              "      <script>\n",
              "        const buttonEl =\n",
              "          document.querySelector('#df-472df45f-71a8-4865-9696-9b116c6c83d5 button.colab-df-convert');\n",
              "        buttonEl.style.display =\n",
              "          google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
              "\n",
              "        async function convertToInteractive(key) {\n",
              "          const element = document.querySelector('#df-472df45f-71a8-4865-9696-9b116c6c83d5');\n",
              "          const dataTable =\n",
              "            await google.colab.kernel.invokeFunction('convertToInteractive',\n",
              "                                                     [key], {});\n",
              "          if (!dataTable) return;\n",
              "\n",
              "          const docLinkHtml = 'Like what you see? Visit the ' +\n",
              "            '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n",
              "            + ' to learn more about interactive tables.';\n",
              "          element.innerHTML = '';\n",
              "          dataTable['output_type'] = 'display_data';\n",
              "          await google.colab.output.renderOutput(dataTable, element);\n",
              "          const docLink = document.createElement('div');\n",
              "          docLink.innerHTML = docLinkHtml;\n",
              "          element.appendChild(docLink);\n",
              "        }\n",
              "      </script>\n",
              "    </div>\n",
              "  </div>\n",
              "  "
            ],
            "text/plain": [
              "              business_id        date               review_id  stars  \\\n",
              "0  9yKzy9PApeiPPOUJEtnvkg  2011-01-26  fWKvX83p0-ka4JS3dc6E5A      5   \n",
              "1  ZRJwVLyzEJq1VAihDhYiow  2011-07-27  IjZ33sJrzXqU-0X6U8NwyA      5   \n",
              "2  6oRAC4uyJCsJl1X0WZpVSA  2012-06-14  IESLBzqUCLdSzSqm0eCSxQ      4   \n",
              "3  _1QQZuf4zZOyFCvXc0o6Vg  2010-05-27  G-WvGaISbqqaMHlNnByodA      5   \n",
              "4  6ozycU1RpktNG2-1BroVtw  2012-01-05  1uJFq2r5QfJG_6ExMRCaGw      5   \n",
              "\n",
              "                                                text    type  \\\n",
              "0  My wife took me here on my birthday for breakf...  review   \n",
              "1  I have no idea why some people give bad review...  review   \n",
              "2  love the gyro plate. Rice is so good and I als...  review   \n",
              "3  Rosie, Dakota, and I LOVE Chaparral Dog Park!!...  review   \n",
              "4  General Manager Scott Petello is a good egg!!!...  review   \n",
              "\n",
              "                  user_id  cool  useful  funny  \n",
              "0  rLtl8ZkDX5vH5nAx9C3q5Q     2       5      0  \n",
              "1  0a2KyEL0d3Yb1V6aivbIuQ     0       0      0  \n",
              "2  0hT2KtfLiobPvh6cDC8JQg     0       1      0  \n",
              "3  uZetl9T0NcROGOyFfughhg     1       2      0  \n",
              "4  vYmM4KTsC8ZfQBg-j5MWkw     0       0      0  "
            ]
          },
          "execution_count": 6,
          "metadata": {},
          "output_type": "execute_result"
        }
      ],
      "source": [
        "df = pd.read_csv(csv_file_path)\n",
        "df.head()"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 7,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "execution": {
          "iopub.execute_input": "2022-09-30T09:37:03.229451Z",
          "iopub.status.busy": "2022-09-30T09:37:03.228539Z",
          "iopub.status.idle": "2022-09-30T09:37:03.243842Z",
          "shell.execute_reply": "2022-09-30T09:37:03.242609Z",
          "shell.execute_reply.started": "2022-09-30T09:37:03.229414Z"
        },
        "id": "bhf7zjbV7l50",
        "outputId": "dff96e96-c29a-4fb3-f4ad-5951940796d9",
        "trusted": true
      },
      "outputs": [
        {
          "data": {
            "text/plain": [
              "[1, 2, 3, 4, 5]"
            ]
          },
          "execution_count": 7,
          "metadata": {},
          "output_type": "execute_result"
        }
      ],
      "source": [
        "sorted(df.stars.unique())"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 8,
      "metadata": {
        "execution": {
          "iopub.execute_input": "2022-09-30T09:37:03.245993Z",
          "iopub.status.busy": "2022-09-30T09:37:03.245505Z",
          "iopub.status.idle": "2022-09-30T09:37:03.260453Z",
          "shell.execute_reply": "2022-09-30T09:37:03.259476Z",
          "shell.execute_reply.started": "2022-09-30T09:37:03.245956Z"
        },
        "id": "Qx4QsfULB0yz",
        "trusted": true
      },
      "outputs": [],
      "source": [
        "\n",
        "# Make the Number of stars given as customer review to a 0-based index\n",
        "# i.e. convert 1-5 scale to 0-4 scale\n",
        "def map_sentiment_scores(star_number):\n",
        "    star_number = int(star_number)\n",
        "    if star_number == 1:\n",
        "        return 0\n",
        "    elif star_number == 2:\n",
        "        return 1\n",
        "    elif star_number == 3:\n",
        "        return 2\n",
        "    elif star_number == 4:\n",
        "        return 3\n",
        "    elif star_number == 5:\n",
        "        return 4\n",
        "\n",
        "    \n",
        "df['stars'] = df.stars.apply(map_sentiment_scores)"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 9,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 206
        },
        "execution": {
          "iopub.execute_input": "2022-09-30T09:37:03.266170Z",
          "iopub.status.busy": "2022-09-30T09:37:03.265441Z",
          "iopub.status.idle": "2022-09-30T09:37:03.279894Z",
          "shell.execute_reply": "2022-09-30T09:37:03.278861Z",
          "shell.execute_reply.started": "2022-09-30T09:37:03.266143Z"
        },
        "id": "b1KXQnOdCIhz",
        "outputId": "0cb170a6-f3ac-4ca6-f765-72baf5b394b0",
        "trusted": true
      },
      "outputs": [
        {
          "data": {
            "text/html": [
              "\n",
              "  <div id=\"df-5f30a6d3-51c2-4e0f-81d8-a3b9944c6e82\">\n",
              "    <div class=\"colab-df-container\">\n",
              "      <div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>business_id</th>\n",
              "      <th>date</th>\n",
              "      <th>review_id</th>\n",
              "      <th>stars</th>\n",
              "      <th>text</th>\n",
              "      <th>type</th>\n",
              "      <th>user_id</th>\n",
              "      <th>cool</th>\n",
              "      <th>useful</th>\n",
              "      <th>funny</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>0</th>\n",
              "      <td>9yKzy9PApeiPPOUJEtnvkg</td>\n",
              "      <td>2011-01-26</td>\n",
              "      <td>fWKvX83p0-ka4JS3dc6E5A</td>\n",
              "      <td>4</td>\n",
              "      <td>My wife took me here on my birthday for breakf...</td>\n",
              "      <td>review</td>\n",
              "      <td>rLtl8ZkDX5vH5nAx9C3q5Q</td>\n",
              "      <td>2</td>\n",
              "      <td>5</td>\n",
              "      <td>0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>1</th>\n",
              "      <td>ZRJwVLyzEJq1VAihDhYiow</td>\n",
              "      <td>2011-07-27</td>\n",
              "      <td>IjZ33sJrzXqU-0X6U8NwyA</td>\n",
              "      <td>4</td>\n",
              "      <td>I have no idea why some people give bad review...</td>\n",
              "      <td>review</td>\n",
              "      <td>0a2KyEL0d3Yb1V6aivbIuQ</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2</th>\n",
              "      <td>6oRAC4uyJCsJl1X0WZpVSA</td>\n",
              "      <td>2012-06-14</td>\n",
              "      <td>IESLBzqUCLdSzSqm0eCSxQ</td>\n",
              "      <td>3</td>\n",
              "      <td>love the gyro plate. Rice is so good and I als...</td>\n",
              "      <td>review</td>\n",
              "      <td>0hT2KtfLiobPvh6cDC8JQg</td>\n",
              "      <td>0</td>\n",
              "      <td>1</td>\n",
              "      <td>0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>3</th>\n",
              "      <td>_1QQZuf4zZOyFCvXc0o6Vg</td>\n",
              "      <td>2010-05-27</td>\n",
              "      <td>G-WvGaISbqqaMHlNnByodA</td>\n",
              "      <td>4</td>\n",
              "      <td>Rosie, Dakota, and I LOVE Chaparral Dog Park!!...</td>\n",
              "      <td>review</td>\n",
              "      <td>uZetl9T0NcROGOyFfughhg</td>\n",
              "      <td>1</td>\n",
              "      <td>2</td>\n",
              "      <td>0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>4</th>\n",
              "      <td>6ozycU1RpktNG2-1BroVtw</td>\n",
              "      <td>2012-01-05</td>\n",
              "      <td>1uJFq2r5QfJG_6ExMRCaGw</td>\n",
              "      <td>4</td>\n",
              "      <td>General Manager Scott Petello is a good egg!!!...</td>\n",
              "      <td>review</td>\n",
              "      <td>vYmM4KTsC8ZfQBg-j5MWkw</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div>\n",
              "      <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-5f30a6d3-51c2-4e0f-81d8-a3b9944c6e82')\"\n",
              "              title=\"Convert this dataframe to an interactive table.\"\n",
              "              style=\"display:none;\">\n",
              "        \n",
              "  <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
              "       width=\"24px\">\n",
              "    <path d=\"M0 0h24v24H0V0z\" fill=\"none\"/>\n",
              "    <path d=\"M18.56 5.44l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94zm-11 1L8.5 8.5l.94-2.06 2.06-.94-2.06-.94L8.5 2.5l-.94 2.06-2.06.94zm10 10l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94z\"/><path d=\"M17.41 7.96l-1.37-1.37c-.4-.4-.92-.59-1.43-.59-.52 0-1.04.2-1.43.59L10.3 9.45l-7.72 7.72c-.78.78-.78 2.05 0 2.83L4 21.41c.39.39.9.59 1.41.59.51 0 1.02-.2 1.41-.59l7.78-7.78 2.81-2.81c.8-.78.8-2.07 0-2.86zM5.41 20L4 18.59l7.72-7.72 1.47 1.35L5.41 20z\"/>\n",
              "  </svg>\n",
              "      </button>\n",
              "      \n",
              "  <style>\n",
              "    .colab-df-container {\n",
              "      display:flex;\n",
              "      flex-wrap:wrap;\n",
              "      gap: 12px;\n",
              "    }\n",
              "\n",
              "    .colab-df-convert {\n",
              "      background-color: #E8F0FE;\n",
              "      border: none;\n",
              "      border-radius: 50%;\n",
              "      cursor: pointer;\n",
              "      display: none;\n",
              "      fill: #1967D2;\n",
              "      height: 32px;\n",
              "      padding: 0 0 0 0;\n",
              "      width: 32px;\n",
              "    }\n",
              "\n",
              "    .colab-df-convert:hover {\n",
              "      background-color: #E2EBFA;\n",
              "      box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
              "      fill: #174EA6;\n",
              "    }\n",
              "\n",
              "    [theme=dark] .colab-df-convert {\n",
              "      background-color: #3B4455;\n",
              "      fill: #D2E3FC;\n",
              "    }\n",
              "\n",
              "    [theme=dark] .colab-df-convert:hover {\n",
              "      background-color: #434B5C;\n",
              "      box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
              "      filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
              "      fill: #FFFFFF;\n",
              "    }\n",
              "  </style>\n",
              "\n",
              "      <script>\n",
              "        const buttonEl =\n",
              "          document.querySelector('#df-5f30a6d3-51c2-4e0f-81d8-a3b9944c6e82 button.colab-df-convert');\n",
              "        buttonEl.style.display =\n",
              "          google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
              "\n",
              "        async function convertToInteractive(key) {\n",
              "          const element = document.querySelector('#df-5f30a6d3-51c2-4e0f-81d8-a3b9944c6e82');\n",
              "          const dataTable =\n",
              "            await google.colab.kernel.invokeFunction('convertToInteractive',\n",
              "                                                     [key], {});\n",
              "          if (!dataTable) return;\n",
              "\n",
              "          const docLinkHtml = 'Like what you see? Visit the ' +\n",
              "            '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n",
              "            + ' to learn more about interactive tables.';\n",
              "          element.innerHTML = '';\n",
              "          dataTable['output_type'] = 'display_data';\n",
              "          await google.colab.output.renderOutput(dataTable, element);\n",
              "          const docLink = document.createElement('div');\n",
              "          docLink.innerHTML = docLinkHtml;\n",
              "          element.appendChild(docLink);\n",
              "        }\n",
              "      </script>\n",
              "    </div>\n",
              "  </div>\n",
              "  "
            ],
            "text/plain": [
              "              business_id        date               review_id  stars  \\\n",
              "0  9yKzy9PApeiPPOUJEtnvkg  2011-01-26  fWKvX83p0-ka4JS3dc6E5A      4   \n",
              "1  ZRJwVLyzEJq1VAihDhYiow  2011-07-27  IjZ33sJrzXqU-0X6U8NwyA      4   \n",
              "2  6oRAC4uyJCsJl1X0WZpVSA  2012-06-14  IESLBzqUCLdSzSqm0eCSxQ      3   \n",
              "3  _1QQZuf4zZOyFCvXc0o6Vg  2010-05-27  G-WvGaISbqqaMHlNnByodA      4   \n",
              "4  6ozycU1RpktNG2-1BroVtw  2012-01-05  1uJFq2r5QfJG_6ExMRCaGw      4   \n",
              "\n",
              "                                                text    type  \\\n",
              "0  My wife took me here on my birthday for breakf...  review   \n",
              "1  I have no idea why some people give bad review...  review   \n",
              "2  love the gyro plate. Rice is so good and I als...  review   \n",
              "3  Rosie, Dakota, and I LOVE Chaparral Dog Park!!...  review   \n",
              "4  General Manager Scott Petello is a good egg!!!...  review   \n",
              "\n",
              "                  user_id  cool  useful  funny  \n",
              "0  rLtl8ZkDX5vH5nAx9C3q5Q     2       5      0  \n",
              "1  0a2KyEL0d3Yb1V6aivbIuQ     0       0      0  \n",
              "2  0hT2KtfLiobPvh6cDC8JQg     0       1      0  \n",
              "3  uZetl9T0NcROGOyFfughhg     1       2      0  \n",
              "4  vYmM4KTsC8ZfQBg-j5MWkw     0       0      0  "
            ]
          },
          "execution_count": 9,
          "metadata": {},
          "output_type": "execute_result"
        }
      ],
      "source": [
        "df.head()"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 10,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "execution": {
          "iopub.execute_input": "2022-09-30T09:37:03.281955Z",
          "iopub.status.busy": "2022-09-30T09:37:03.281523Z",
          "iopub.status.idle": "2022-09-30T09:37:03.291804Z",
          "shell.execute_reply": "2022-09-30T09:37:03.290681Z",
          "shell.execute_reply.started": "2022-09-30T09:37:03.281921Z"
        },
        "id": "wB5anQx1CNzR",
        "outputId": "ac4c29d8-44b5-4391-b68d-09d2ef3708f3",
        "trusted": true
      },
      "outputs": [
        {
          "data": {
            "text/plain": [
              "[0, 1, 2, 3, 4]"
            ]
          },
          "execution_count": 10,
          "metadata": {},
          "output_type": "execute_result"
        }
      ],
      "source": [
        "sorted(df.stars.unique())"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 11,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 647
        },
        "execution": {
          "iopub.execute_input": "2022-09-30T09:37:03.295007Z",
          "iopub.status.busy": "2022-09-30T09:37:03.294364Z",
          "iopub.status.idle": "2022-09-30T09:37:03.685242Z",
          "shell.execute_reply": "2022-09-30T09:37:03.684255Z",
          "shell.execute_reply.started": "2022-09-30T09:37:03.294974Z"
        },
        "id": "GkdM3VKzGkUZ",
        "outputId": "9b30d5df-1548-43d4-b796-7673c641bc35",
        "trusted": true
      },
      "outputs": [
        {
          "name": "stderr",
          "output_type": "stream",
          "text": [
            "/usr/local/lib/python3.7/dist-packages/seaborn/_decorators.py:43: FutureWarning: Pass the following variable as a keyword arg: x. From version 0.12, the only valid positional argument will be `data`, and passing other arguments without an explicit keyword will result in an error or misinterpretation.\n",
            "  FutureWarning\n"
          ]
        },
        {
          "data": {
            "text/plain": [
              "[Text(0, 0, '1-Star'),\n",
              " Text(0, 0, '2-Star'),\n",
              " Text(0, 0, '3-Star'),\n",
              " Text(0, 0, '4-Star'),\n",
              " Text(0, 0, '5-Star')]"
            ]
          },
          "execution_count": 11,
          "metadata": {},
          "output_type": "execute_result"
        },
        {
          "data": {
            "image/png": "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nDlz0tLS0uX61KlTc/XVV3d7/YFoaGhIc3NzqqurM3bs2IPyGQAAAG8VE6//SG9vAfqMpZ9b1ttbOKiabl/Y21uAPmP41Av/bJ91IL2zTz7aZcuWLRkwYEDOPvvsXHfddfnFL36R//mf/8m9996bGTNmpLKyMn/4wx8yffr0rF+/vssZV1xxRVavXp2KiorMnDkzDzzwQB555JHMnTs3Q4YMSWNjYz772c+mqampy+ubmpoyc+bMNDY2ZujQoZk7d24eeeSRPPDAA5k5c2YqKiqyatWqXHHFFd3+HCtXrsxVV12VlpaWnHTSSfn+97+f5cuX584778ykSZOSJLfffnvmz59/4L80AAAAAAC61CdD+oUXXpilS5dm3rx5+fu///scd9xxGTZsWE488cTMnj073/jGN5Ikr776am666aZO1//yl7/Mww8/nCT5/Oc/n8svvzyjR4/O2972tpx33nn5zne+k4qKiqxfvz51dXVd7mH+/PlZv359KioqctNNN+W8887L2972towePTqXX355Pv/5zydJHn744fbPeqNvfOMbaW1tzZFHHpkf/vCHOf300zNy5MjU1NTkhhtuyEc+sutuiRtvvDGbNm064N8bAAAAAACd9cmQ/pWvfCVHHXVUt+tTpkzJSSedlCRdRuyFC3f95zkjRozItGnTOq2PHz8+Z555ZpLkxz/+cVpbWzust7a25o477kiSnHnmmRk/fnynGdOmTcvw4cM7fN6ennzyyaxZsyZJMn369IwYMaLDekVFRWbPnp0k2bp1a+66665uf14AAAD+P3t3H6V1XeeP/3nhAKPCcOMNRkphKsEk0kptKuEN9If45ZSYBm56NPC2e9tO0uae7jba/R03dzM1oSDX0MzkBLa5FYikYi3UoEcUpUhRahoEQoSBGbl+f3i4lmFmPowjlxg9HufMOe/rer/fr8/rGo7XOT7nc94fAIDuOyCD9K44/vjjkyR//vOf27zf3NycpUuXJknGjRuXXr16dbj/7LPPTvLKES7Lly9vM7ds2bJs3ry5zbo99erVq3I8y8MPP5zm5uY28/fff3+7a+2pvr4+Q4YMSZIsWrSowzUAAAAAALw2f7NB+vr165Ok3YM+n3766Wzfvj3JKw8D7czuc48//nibud1fd6XG9u3bs3r16g5rDBo0KEcddVSnNU466aQOewAAAAAAYN/4mwzS169fn9/85jdJkne+851t5tasWVMZH3300Z3WGDx4cHr06NFuz+6ve/TokcGDB3daY/f6ndU45phjOt2/e42XXnqp0wenAgAAAADQfVUJ0qdPn57Pf/7z7Y5NKdLU1FTZV23XX399WlpakiRTpkxpM7dx48bK+LDDDuu0Rs+ePVNXV5fkleNdOqpRV1eXnj17dlpj4MCBlXFnNYp62HN+zxoAAAAAALx2NdUoOm/evJRKpXzkIx/JkUce2aU9L774YmXf1772tWq0lSSZP39+7rnnniTJWWedlfe+971t5rdt21YZ9+7du7DWrvmtW7d2WGNv+2trayvjzmp0dkZ7V2rsK1u2bGl3DjwAAMCB4uSTT97fLcAB60DLE3xfQPW80b8v/qaOdnn00Udz3XXXJUne9KY35V/+5V/2c0cAAAAAALzRVeWO9O5obW1NktTUVKel3//+97n88svT3Nyc/v37Z9asWW2OVtnl4IMProx3PXS0M7vmDznkkA5r7G1/c3NzZdxRjZaWluzYsaPbNfaVPn36ZNiwYVWpDQAAABy43MENdNXr8X2xatWqbNmypVt73zB3pK9evTpJ0q9fv31ee926dfnIRz6SjRs35tBDD83MmTNz3HHHdbh2wIABlfELL7zQac2WlpZs3rw5SdK/f/8Oa2zevLnyB4KObNiwoTLurEZRD3vO71kDAAAAAIDXbp/c/v2///u/Hb7/2GOPtXl4Z0d27NiRP/zhD5k1a1ZKpVLe/va374uWKtavX59LL700f/zjH1NbW5tbbrklI0eO7HT90KFDK+Pnnnuu03Xr1q3Lzp072+3Z/fXOnTvz/PPP5y1veUuHNXav31GNZ555JmvXru20h91rHHrooRk0aFDhWgAAAAAAXr19EqRfdNFFKZVKbd4rl8v5/Oc/3+Ua5XI5pVIpkyZN2hctJUn+8pe/5NJLL80f/vCH9OzZM//5n/+Zd7/73YV7jj/++PTu3Tvbt2/PihUrcv7553e4rqGhoTKur69vM7f76xUrVnQapO+q0bt373Z3yNfX12fx4sVpbGxMY2NjpyH5ihUrOuwBAAAAAIB9Y58d7VIulys/Hb23t5+DDz44H/3oRzNhwoR90s9LL72UadOm5amnnkqPHj3yb//2bzn99NP3uq+2tjannHJKkmThwoWdnlF+3333JXnlOJU9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/etfzzvf+c5qtgMAAAAAAK9a1Y52eeCBB3LxxRfn2WefTblcTrlcTu/evTN48OAMHjw4tbW1lfefeeaZXHTRRfnlL39ZrXYAAAAAAKBbqnJH+saNG/OZz3wmra2t6dGjRz74wQ9mypQpGT58eOUIl3K5nCeeeCJ33nln7r777rS2tuaaa67Jz3/+8/Tv378abQEAAAAAwKtWlTvSb7/99mzZsiU1NTW58cYb85WvfCUjRoxocw56qVTKiBEj8uUvfzk33XRTDjrooGzZsiW33357NVoCAAAAAIBuqUqQ/sADD6RUKuWCCy7IWWedtdf1Z5xxRj70oQ+lXC7ngQceqEZLAAAAAADQLVUJ0teuXZsked/73tflPbvW7v5gUgAAAAAA2N+qEqRv3bo1SdKvX78u76mrq2uzFwAAAAAA3giqEqTveljomjVrurznD3/4Q5JkwIAB1WgJAAAAAAC6pSpBen19fcrlcr7//e93ec/tt99eeQApAAAAAAC8UVQlSJ8wYUKS5Le//W0++9nPFh7Xsm3btlx77bX57W9/myQ555xzqtESAAAAAAB0S001ik6cODH/9V//lcceeyz33ntvli5dmnPOOSejRo3KEUcckSRpamrKihUrcu+99+aFF15IkowcOTITJ06sRksAAAAAANAtVQnSS6VSbrnlllxyySV5+umns379+tx222257bbb2q0tl8tJkuOPPz4333xzNdoBAAAAAIBuq8rRLkly2GGH5e67786VV16Z/v37p1wud/gzYMCAXH311fnRj36UgQMHVqsdAAAAAADolqrckb5L796986lPfSof+9jH8vjjj+epp57Kxo0bkyQDBgzIsGHDMmLEiNTUVLUNAAAAAADottclwa6pqclJJ52Uk0466fW4HAAAAAAA7DNVC9K3bNmSJDn44INz0EEHFa59+eWXs23btiRJnz59qtUSAAAAAAC8alU5I/3Xv/513vWud+W0006rHOVSZOPGjTn11FPz7ne/Ow0NDdVoCQAAAAAAuqUqQfr//M//pFwu54wzzsjhhx++1/WHH354zjzzzOzcuTM//elPq9ESAAAAAAB0S1WC9N/+9rcplUoZM2ZMl/eMHTs2SbJs2bJqtAQAAAAAAN1SlSD92WefTZK87W1v6/KeY489Nkny3HPPVaMlAAAAAADolqoE6c3NzUmSQw45pMt7Dj744CTJSy+9VI2WAAAAAACgW6oSpPft2zdJ0tTU1OU969evT5Iceuih1WgJAAAAAAC6pSpB+pAhQ5IkS5cu7fKehx56KEny5je/uRotAQAAAABAt1QlSH/Pe96TcrmcH/zgB/njH/+41/XPP/987rrrrpRKpZxyyinVaAkAAAAAALqlKkH65MmTU1NTk61bt+bSSy/Nk08+2enaJ598Mh/5yEfy0ksv5aCDDsrkyZOr0RIAAAAAAHRLTTWKvulNb8rHP/7xfOMb38gzzzyTSZMm5ZRTTsnf//3f58gjj0yS/PnPf86vfvWrLF26NOVyOaVSKR/96EdzzDHHVKMlAAAAAADolqoE6UlyxRVXZNOmTZk9e3bK5XIefvjhPPzww+3WlcvlJMnUqVNz1VVXVasdAAAAAADolqoc7bLL5z73uXznO9/J6NGjUyqVUi6X2/yUSqW8+93vzuzZs/PZz362mq0AAAAAAEC3VO2O9F1OO+20nHbaadm8eXNWrlyZDRs2JEkGDhyYESNGpK6urtotAAAAAABAt1U9SN+lrq4u73nPe16vywEAAAAAwD5R1aNdAAAAAADgr50gHQAAAAAACgjSAQAAAACggCAdAAAAAAAKCNIBAAAAAKCAIB0AAAAAAAoI0gEAAAAAoIAgHQAAAAAACgjSAQAAAACggCAdAAAAAAAKCNIBAAAAAKCAIB0AAAAAAAoI0gEAAAAAoIAgHQAAAAAACgjSAQAAAACggCAdAAAAAAAKCNIBAAAAAKCAIB0AAAAAAAoI0gEAAAAAoIAgHQAAAAAACgjSAQAAAACggCAdAAAAAAAKCNIBAAAAAKCAIB0AAAAAAAoI0gEAAAAAoIAgHQAAAAAACgjSAQAAAACggCAdAAAAAAAKCNIBAAAAAKCAIB0AAAAAAArU7O8GqqFcLuf3v/99Hn300crPqlWr0tLSkiRZuHBhjj766E7333PPPZk+ffper3P88cfn3nvvLVyzYcOGzJkzJ7/4xS+ybt269OrVK0OHDs3EiRMzefLk1NTs/Z9g1apV+d73vpelS5dm/fr16devX+rr6zN58uSceeaZe90PAAAAAED3HZBB+vPPP58JEybs7zaycuXKXH755Wlqaqq8t23btjQ0NKShoSELFizIrFmz0rdv305rzJs3L9ddd13ljwBJ0tTUlMWLF2fx4sWZMmVKvvjFL1bzYwAAAAAA/E07IIP03R111FE58cQTs3HjxixbtuxV7//Nb37T6dxBBx3U6dymTZty5ZVXpqmpKXV1dZk+fXrGjBmT5ubm/OhHP8q3v/3tNDQ05JprrsnMmTM7rLF8+fJ84QtfSGtra0444YR87nOfy4gRI/LHP/4xN910U37xi1/kjjvuyJvf/OZcdtllr/qzAQAAAACwdwdkkN6/f/9861vfykknnZQjjjgiSfLNb36zW0H6oYce2q0eZs6cmcbGxpRKpdx8880ZPXp0Ze7Tn/50amtrc8MNN2TJkiVZsmRJxo4d267G17/+9bS2tubwww/PbbfdlgEDBiRJBg4cmBtvvDFTp07NQw89lJtuuinnnXdeBg4c2K1eAQAAAADo3AH5sNE+ffpk/PjxlRD99dba2pq77rorSXLGGWe0CdF3mTp1avr3758kmTt35psFowAAIABJREFUbrv5xx57LI8++miSZNq0aZUQfZdSqZTPfOYzSZKtW7fmxz/+8T79DAAAAAAAvOKADNL3t2XLlmXz5s1JkrPPPrvDNb169cr48eOTJA8//HCam5vbzN9///2VcWc16uvrM2TIkCTJokWLXnPfAAAAAAC0J0jvoh07dnR57eOPP14Zjxo1qtN1u+a2b9+e1atXd1hj0KBBOeqoozqtcdJJJ7W7JgAAAAAA+84BeUb6vnTuuefm6aefTktLSw455JCMGDEi73vf+3LBBRfkkEMO6XDPmjVrkiQ9evTI4MGDO6199NFHt9nzjne8o12NY445prC/XTVeeumlNDY2ZtCgQV37YAAAAAAAdIkgfS9WrlxZGW/dujXLli3LsmXLcvvtt+fGG2/M29/+9nZ7Nm7cmCSpq6tLz549O629+8NBN23a1GGNww47rLC/3ec3bdpUlSB9y5YtWb58+T6vCwAA8EZw8skn7+8W4IB1oOUJvi+get7o3xeC9A7U1tbm3HPPzfjx4/O2t70tRx11VF5++eU8+eSTmTt3bn7yk59k7dq1mTp1au6555524fW2bduSJL17997rdXbZunVrhzV69erV7RoAAAAAALx2gvQOTJgwIRMmTGj3/ujRozN69OiMHDkyM2bMyPr163PDDTdkxowZ+6HL10+fPn0ybNiw/d0GAAAA8FfGHdxAV70e3xerVq3Kli1burXXw0a74ZJLLsnI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D8748eNzySWXZODAgXutsWHDhsyZMye/+MUvsm7duvTq1StDhw7NxIkTM3ny5NTU7P2fYNWqVfne976XpUuXZv369enXr1/q6+szefLknHnmmXv/hQAAAAAA0G0HZJD+/PPPZ8KECa+pxosvvpipU6dmxYoVbd7/3e9+l9/97ne55557MnPmzAwfPrzTGitXrszll1+epqamynvbtm1LQ0NDGhoasmDBgsyaNSt9+/bttMa8efNy3XXXVf4IkCRNTU1ZvHhxFi9enClTpuSLX/xi9z8oAAAAAACFDvijXY466qi8733vy+jRo1/VvmuuuSYrVqxIqVTKlVdemZ///Of55S9/mRkzZqRv375pamrKFVdckU2bNnW4f9OmTbnyyivT1NSUurq6zJgxI7/85S/z85//PFdeeWVKpVIaGhpyzTXXdNrD8uXL84UvfCEtLS054YQT8p3vfCdLly7NPffck/HjxydJ7rjjjsycOfNVfTYAAAAAALrugAzS+/fvn29961t58MEH88ADD+TGG2/Me97zni7vf+CBB7JkyZIkySc/+cl8+tOfzpAhQ3LkkUdm0qRJueWWW1IqldLY2JhZs2Z1WGPmzJlpbGxMqVTKzTffnEmTJuXII4/MkCFD8ulPfzqf/OQnkyRLliypXGtPX//619Pa2prDDz88t912W8aMGZOBAwemvr4+N954Y0477bQkyU033ZQNGza8ml8RAAAAAABddEAG6X369Mn48eNzxBFHdGv/3LlzkyQDBgzI1KlT282PHj06Z5xxRpLkhz/8YVpbW9vMt7a25q677kqSnHHGGR3eDT916tT079+/zfV299hjj+XRRx9NkkybNi0DBgxoM18qlfKZz3wmSbJ169b8+Mc/fjUfEQAAAACALjogg/TXorm5OUuXLk2SjBs3Lr169epw3dlnn53klSNcli9f3mZu2bJl2bx5c5t1e+rVq1fleJaHH344zc3Nbebvv//+dtfaU319fYYMGZIkWbRoUeHnAgAAAACgewTpe3j66aezffv2JMmoUaM6Xbf73OOPP95mbvfXXamxffv2rF69usMagwYNylFHHdVpjZNOOqnDHgAAAAAA2DcE6XtYs2ZNZXz00Ud3um7w4MHp0aNHuz27v+7Ro0cGDx7caY3d63dW45hjjinsd1eNl156KY2NjYVrAQAAAAB49QTp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p556Kk899VTuuOOOfPWrX80555zTZv3GjRsr48MOO6zTuj179kxdXV02bdqUTZs2dVijrq4uPXv27LTGwIEDK+M9a+xLW7ZsaXf8zL528sknV7U+/C2r9n+/rzffF1A9vi+ArvJ9AXSV7wugq97o3xeC9A706NEjY8aMyTnnnJP6+vq86U1vSu/evfPMM8/kJz/5Sb773e9m69at+exnP5t+/fplzJgxlb3btm2rjHv37l14nV3zW7dubfP+rhp7219bW1sZ71kDAAAAAIB9Q5DegcGDB+c73/lOu/dPOOGEnHDCCTn99NNzySWXZPv27fnKV76S//7v/85BBx20Hzp9ffTp0yfDhg3b320A3eSOCaCrfF8AXeX7Augq3xdAV70e3xerVq3Kli1burXXw0a74e/+7u9y0UUXJUn+8Ic/5NFHH63MHXzwwZXxroeOdmbX/CGHHNLm/V019ra/ubm5Mt6zBgAAAAAA+4YgvZvOOuusynjlypWV8YABAyrjF154odP9LS0t2bx5c5Kkf//+beZ21di8eXNaW1s7rbFhw4bKeM8aAAAAAADsG4L0btr9QaIvvvhiZTx06NDK+Lnnnut0/7p167Jz5852e3Z/vXPnzjz//POd1ti9/p41AAAAAADYNwTp3bR+/frKuG/fvpXx8ccfX3lI6IoVKzrd39DQUBnX19e3mdv9dVdq9O7dO8cdd1wXOwcAAAAA4NUQpHfTz3/+88p49+C7trY2p5xySpJk4cKF2bFjR4f777vvviSvHMmy50H6o0ePTl1dXZt1e9qxY0cWLVqUJDn11FNTW1vbzU8CAAAAAEARQXoH/vSnPxXO/+pXv8rcuXOTJG9961szcuTINvMXXnhhklfOMJ89e3a7/cuXL8/ixYuTJOeff35qamrazNfU1OSCCy5Iktx///1Zvnx5uxqzZ8+unJG+63oAAAAAAOx7NXtf8rfnAx/4QN71rndl3Lhxqa+vz+GHH54kWbt2bX7yk5/k+9//flpaWlJTU5N//ud/To8ebf8ecfrpp2fs2LFZsmRJbrjhhmzbti3nnXdeamtr8+CDD2bGjBnZuXNnBg0alGnTpnXYw2WXXZYFCxaksbExV111VaZPn54xY8akubk5d999d2699dYkydixYzN27Njq/kIAAAAAAP6GCdI70Nramp/97Gf52c9+1umafv36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oUOH6tq1a+UeKywsVEJCghISErR27Vq98cYbGj16tGE/mZmZCgsLU3x8fH1OF2hU0tLSJEnNmze36PnUC6DxKy4u1tatWyVJLVq0kKenp0X9UC+AxqO4uFivvfaaioqK9Oc//9mic1aqQq0AGq+CggKL35CvDPUCDY0gHYCCgoK0adMmpaSkaOrUqZo+fboefvhhWVvfefengIAAHTlyRJ988ok++eQTPfDAA9q0aVO5NjY2NuXuP/jggwoODpafn5/atGmjli1bKjs7Wz/++KOWL1+u/fv3a/bs2fLx8VG3bt2qHHvu3LnKysrSCy+8oMcff1yurq5KSEiw+PRvoLFLS0vTkSNHJEl+fn4W9UG9ABqnkpISpaen68yZM1q8eLG+//57SdL06dMt/gWYegE0HkuXLtUPP/wgHx8fTZgwoU77plYAjc+cOXOUlJSkvLw82dvby9PTU/369dPEiRPVrl07i/ulXqChEaQD0LPPPqtdu3YpJydHMTExmjBhgpydndWzZ0/16NFD/v7+6t27t5o1a1bhuTY2NnJ0dJSdnZ0kycrK6o7vCkdERFR4zNXVVR07dlRISIhmzJihzZs367PPPtPbb79dZT/JyclatGhRuf0ZXV1dq/uygfvOu+++q8LCQknSuHHjLOqDegE0LtOnTzevPr9Vy5YtNX36dI0dO9bivqkXQONw+fJlvf/++7K2ttY//vGPCkFTbVErgMbn7Nmz5tsFBQWKj49XfHy8IiIi9Oabb2rIkCEW9Uu9QEPjsFEA6ty5s1asWCEfHx/zY1lZWdq3b58+/vhjTZkyRY888ohmz56t9PT0ep/P8OHDJf3fQSJV6devX50dcgQ0dhs2bNCaNWskSSEhIerXr59F/VAvgMbP3t5e48aNU//+/WvVD/UCaBzeeOMN5eXlaezYserVq1ed90+tABoHa2trBQcHa968edqwYYO+//57xcbGauPGjZo6dars7e2Vl5enl156Sfv27bNoDOoFGhor0gFIkrp166Y1a9YoJiZG27Zt06FDh3T27FkVFRVJkvLy8rRy5Urt3LlTn3/+ubp06VKr8Y4ePapvvvlGx44d05UrV5SXl6eSkpJybVJTU5WTkyMnJ6dK+3jsscdqNQfgfhEbG6vXXntNktS+fXvNnTu3Vv1RL4DG45133tG8efNUUlKizMxMHT58WIsW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tWvXrmYvCgAAAJUiSAcAAAAs9O9//1unT59WcHCwRo8erY4dOyo7O1vnz583t9m/f7+mTJmioqIiubi4aNy4cerRo4fatWunnJwcHTx4UMuXL1dGRoamTJmir776qlxAPWLECPNK9HXr1un555+vcj7r169X2QdOhw8fXuPXs3r1av31r3+VJLVt21ZPPvmkvLy81KZNG5lMJu3evVsRERH66aef9PTTT2vt2rVq3bq1+flBQUFavHixiouLFRMTo4EDB5brvywgLxMdHV1hDtnZ2YqLi5NUekBqTa1cudIconfp0kVjx45V165d5eLiory8PF28eFGHDx/Wzp07yz3vn//8p65fv64//OEPSklJUY8ePTRv3rwK/bdt29Z8u6ioSPb29urXr5/69u2rBx98UM7Ozrp27ZoSExP11VdfKTY2VkeOHNFLL72kJUuWGM798uXLevHFF2Vra6vnnntOffr0kYODg86dO6cOHTpIkubPn28O0X19fTVmzBh16tRJLVq0UE5Oji5cuKDo6GhFRkbW+HsHAACAqhGkAwAAABY6ffq0Jk+erJdeeqnc43379pUk5eTkaNasWSoqKlLfvn01f/58OTk5lWsbFBSkkSNHaty4ccrIyNDcuXP1+eefm6/7+fnJ09NTCQkJ2rBhg6ZPny4rK6tK51MWIHt4eNR4pXViYqJef/11SaUh/Jtvvil7e/tybYKDgzV48GA99dRTSk1N1Xvvvae5c+earwcEBMjOzk6FhYWKioqqMkgPDQ3V9u3bK125HhMTo5s3b5q/NzW1efNmSdIDDzygr776qsL3++GHH9aoUaNUUFBQbnW8h4eHJMnOzk6S1KxZM3l5eRmO1alTJ+3evbvSleZBQUEKCwvT+++/r4ULF2rfvn2KiYlRYGBglf1dunRJrVu3VkREhHk+ktSrV68Kr69nz55asWKFeb5levfurd/+9rfKycmp8P8PAAAAluOwUQAAAMBCnTp10osvvljl9YiICGVkZKhp06b67//+7wqhbhlPT08988wzkkq3gUlMTCx3vWx1+aVLl3To0KFK+yjb+kVSlduNGFmyZIny8/PVvn17zZkzp8oQ1s/PT+PHj5dUGtzfuHHDfK1p06bm0Pf21efXrl0zrzSfNGmSWrRooeLi4gqr0sueZ2dnZ9G2K2lpaZIkHx+fKr/fUum2OY6OjjXu/1YtWrS443Ytzz77rLnNtm3b7tjnzJkzy4Xotyt7fQ8//HCFEP1WTk5OBOkAAAB1iCAdAAAAsNDgwYMND3P87rvvJJWuUL9T4HrrSuWyfc7LDB8+3LwKfd26dZU+v+xxKysri7Z12b59u6TS1eJ32lu9bK4FBQU6ceJEuWtlq8h//PFHc+grla40Ly4ulqOjo3x9fc17wd8euJfd79Gjh0VBd9nWK99//70SEhJq/PzaKCws1NWrV3Xu3DnFx8crPj5e586dM8+p7I2EqtjZ2WnQoEGGbcr62rlzZ4U99wEAAFB/2NoFAAAAsFC3bt2qvHbz5k2dPHlSUmno6e3tXe1+U1NTy93v0KGDevfurZiYGG3dulV///vfy4XdBQUF+vbbbyVJ/v7+hiuaK3P58mXzmMuWLdOyZcssnmtQUJAWLFggqTQUHzp0qPm2VLr1iK2trfr06aMdO3aUC9IzMjJ09uxZcz+WCAsLU3R0tDIzMzVs2DD1799f/fr1k6+vr7p06SIbGxuL+q1Kfn6+IiIitHHjRp05c6bcdjG3M5lMhn15enqqSZMmhm3CwsL0P//zP/rpp58UGhqqgQMH6le/+pV8fX3l6elZ5bY/AAAAqB2CdAAAAMBCt+7tfbusrCwVFRVZ1O+t26WUGTFihGJiYpSdna3t27dryJAh5mu7du1SVlaWuV1N1WZl8+1z/eUvf6kmTZroxo0blQbpZQF52X/PnTunlJQUtWnTRtHR0ebDUi0N0ocNG6bk5GR9+OGHunHjhrZu3aqtW7dKkpo3b66+fftq5MiR6t+/f61D5ytXrujpp5/WhQsXqtW+sv+vt2rRosUd+5gyZYoyMzO1bNky5eXlaf369Vq/fr0kyc3NTcHBwQoLCzPcix0AAAA1R5AOAAAAWMjauuqdEssOzJRKt0t5/vnnq91vy5YtKzz2+OOPa86cObp+/brWr19fLkgv29bFwcHhjluD3Gmu48eP17hx46r93Hbt2pW7b29vL39/fx04cMAcnqenp1dYae7l5aWWLVsqPT1dUVFR+s1vfmNu7+DgIH9//xq/jjKTJ0/WyJEjtWXLFh04cEBHjx6VyWRSdna2tm3bpm3btikwMFALFy5U8+bNLR7nz3/+szlEDwkJ0ejRo+Xt7a1WrVrJwcHB/OfjySefrHJv+1tVZ7W8tbW1XnnlFYWHh2vz5s2Kjo7WsWPHlJOTo4yMDG3YsEEbNmzQ4MGD9fbbbxvuow4AAIDqI0gHAAAA6oGLi4usrKxUUlKiwsJCeXl51ao/JycnDRgwQJs2bdL+/fuVlpamVq1ayWQyac+ePZKkAQMGWBQM375/e23nGhQUpAMHDigxMVFJSUk6duyYpNLvSdl2OFZWVgoMDNS3335rDtLLDh718/Or9UGZLVu2VHh4uMLDwyWVrnzfvXu3vvzySyUmJiomJkZvvPGG3nnnHYv6v3DhgmJiYiRJQ4cO1bvvvltl22vXrlk0hpEOHTpoypQpmjJlioqLi3X69Gnt3LlTERERSktL05YtW9SpUye98MILdT42AADA/YjDRgEAAIB6YGdnZ94X/fjx44Z7Z1dX2bYtRUVF2rRpkyRpy5Yt5r4t2dZFktzd3eXi4iJJ1Vo5fSe3bssSFRVlXmnep0+fctuplLWLiopScnKyeXW3pdu6GOnSpYsmTZqk1atXmw/s3Lp1q8Xb78THx5tvDx48uMp2ubm5On/+vEVjVJe1tbW6d++uZ599VqtWrVLTpk0llf7ZAAAAQN0gSAcAAADqycCBAyVJmZmZ+uabb2rd369+9Su1adNG0v9t51K2P3arVq0UHBxsUb/W1tYKCQmRVBoQl61wt1SPHj3k5OQkqXyQfntAXnY/KSlJX3/9dYXH64Ozs7N69eolqfSg0Ly8vHLXyw77LCgoMOzn1u1wjJTX2ScAAAUiSURBVPY+//rrry0O6y3h7u6uzp07Syo9vBUAAAB1gyAdAAAAqCcTJ040r/R+6623tHfvXsP2GRkZWrZsWZXXbWxsNGzYMElSXFyctm7dquPHj0sqPWSzOntsV2Xq1Knm7VReeeUVnThxwrD9lStXyoXft8+zd+/ekqTIyEj99NNPkioG5J6enmrfvr0k6fPPP5ckOTo6qmfPnha/jrVr1xqG4FlZWebvmYuLS4UDPsveqLh48aL54NPKeHp6lhuzsrZHjx7Ve++9V5PpG8rMzNT27dtVXFxcZZukpCSdO3dOkuTh4VFnYwMAANzv2CMdAAAAqCctWrTQ+++/r8mTJ+vGjRv64x//qNDQUA0cOFCenp6ys7NTVlaW4uPjFRUVpb1798rNzc28r3dlRowYoSVLlkiS/va3v5V7vDY6deqkN998Uy+//LLS09M1duxYDRkyRI899pg6dOgga2trmUwmnTlzRvv27VNMTIx8fX0VFhZWaX9BQUGKjIxUdna2JKlt27b6xS9+UaFdnz59tG7dOnO7gIAA2dpa/mvKK6+8orfeekshISHy9/dX586d5ejoqKysLJ0+fVoRERFKSUmRVHoI6O0CAgJ08OBBmUwmzZ49WyNGjJCzs7P5eseOHWVnZ6eHHnpI3bp10+nTp7V3715NmjRJY8eOVYcOHZSVlaXIyEitXLlSzZs3V9u2bZWQkGDxayqTk5OjZ555Rm3atFFoaKh8fX3l4eGhZs2ayWQyKTY2VitWrFB+fr4kacKECbUeEwAAAKUI0gEAAIB6FBQUpGXLlmnmzJlKSkrSd999p++++67K9nc6LNTLy0vdu3fXqVOnzIdYent7mw/xrI3hw4fLyclJr776qkwmk9atW2feQqamc7199XmfPn2qbHfrGHWxrUtmZqbWrFmjNWvWVNlmzJgxmjZtWoXHx44daz6wc9WqVVq1alW56zt27JC7u7usrKz0zjvvaOLEiTKZTDpw4IAOHDhQrq2bm5vmz5+v9957r06C9DIpKSn68ssv9eWXX1Z63draWlOnTtXo0aPrbEwAAID7HUE6AAAAUM/8/Py0detWbdq0STt37tTJkyeVkZGhoqIiOTk5ycPDQz179lRwcLD69et3x/5GjBihU6dOlbtfVwYMGKC+fftqzZo12rNnj06fPi2TyaSSkhI5OzurU6dO8vX11X/9139VGY5LpeG+q6urTCaTpKoD8qr2TbfU5s2btXfvXh05ckQJCQnKyMhQZmam7O3t1b59e/n5+WnUqFF6+OGHK31+q1attHr1ai1evFgHDx7U5cuXdf369Uq3bvHy8tL69ev16aefas+ePbp8+bKaNGmi9u3bq3///goPD1fr1q1r9Xpu1aFDB61evVr79u3TsWPHdOnSJaWlpenatWtq2rSp3N3d1bt3b4WFhZkPugUAAEDdsCox2vgPAAAAAAAAAID7HIeNAgAAAAAAAABggCAdAAAAAAAAAAADBOkAAAAAAAAAABggSAcAAAAAAAAAwABBOgAAAAAAAAAABgjSAQAAAAAAAAAwQJAOAAAAAAAAAIABgnQAAAAAAAAAAAwQpAMAAAAAAAAAYIAgHQAAAAAAAAAAAwTpAAAAAAAAAAAYIEgHAAAAAAAAAMAAQToAAAAAAAAAAAYI0gEAAAAAAAAAMECQDgAAAAAAAACAAYJ0AAAAAAAAAAAMEKQDAAAAAAAAAGCAIB0AAAAAAAAAAAME6QAAAAAAAAAAGPh/fV8lb4pchvAAAAAASUVORK5CYII=",
            "text/plain": [
              "<Figure size 864x576 with 1 Axes>"
            ]
          },
          "metadata": {
            "image/png": {
              "height": 489,
              "width": 745
            }
          },
          "output_type": "display_data"
        }
      ],
      "source": [
        "class_names = ['1-Star', '2-Star', '3-Star', '4-Star', '5-Star' ]\n",
        "\n",
        "ax = sns.countplot(df.stars)\n",
        "\n",
        "plt.xlabel('review stars')\n",
        "\n",
        "ax.set_xticklabels(class_names)"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "bKCf94MD7l51"
      },
      "source": [
        "\n",
        "## `text` and 'stars` columns will be the features and targets respectively down below\n",
        "\n",
        "\n",
        "```py\n",
        "reviews = df.text.to_list(), \n",
        "targets = df.stars.to_list(), \n",
        "\n",
        "```"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "qxt7wDO7j40E"
      },
      "source": [
        "# Model"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "dX_g6AEzj6pR"
      },
      "source": [
        "## Define Transformer and Tokenizer\n",
        "\n",
        "#### The encode_plus and encode functions tokenize your texts and prepare them in a proper input format of the BERT model.\n",
        "\n",
        "The main difference is stemming from the additional information that `encode_plus` is providing. \n",
        "\n",
        "\n",
        "The [`encode()`](https://huggingface.co/transformers/main_classes/tokenizer.html#transformers.PreTrainedTokenizer.encode):\n",
        "\n",
        "> Converts a string in a sequence of ids (integer), using the tokenizer and vocabulary.\n",
        "> Same as doing `self.convert_tokens_to_ids(self.tokenize(text))`.\n",
        "\n",
        "While the [`encode_plus()`](https://huggingface.co/transformers/main_classes/tokenizer.html#transformers.PreTrainedTokenizer.encode_plus):\n",
        "\n",
        "> Returns a dictionary containing the encoded sequence or sequence pair\n",
        "> **and additional information**: the mask for sequence classification and\n",
        "> the overflowing elements if a `max_length` is specified.\n",
        "\n",
        "So the difference lies in the additionally encoded information, specifically the input mask. \n",
        "\n",
        "\n",
        "\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 12,
      "metadata": {
        "execution": {
          "iopub.execute_input": "2022-09-30T10:03:36.390311Z",
          "iopub.status.busy": "2022-09-30T10:03:36.389910Z",
          "iopub.status.idle": "2022-09-30T10:03:37.112316Z",
          "shell.execute_reply": "2022-09-30T10:03:37.111326Z",
          "shell.execute_reply.started": "2022-09-30T10:03:36.390258Z"
        },
        "id": "K9UzAgFKOEQN",
        "trusted": true
      },
      "outputs": [],
      "source": [
        "tokenizer = BertTokenizer.from_pretrained(pre_trained_model_ckpt)"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "-896Jhauj-Ma"
      },
      "source": [
        "# Tokenization and encoding on a Sample Text"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 13,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "execution": {
          "iopub.execute_input": "2022-09-30T10:03:37.114613Z",
          "iopub.status.busy": "2022-09-30T10:03:37.114210Z",
          "iopub.status.idle": "2022-09-30T10:03:37.129167Z",
          "shell.execute_reply": "2022-09-30T10:03:37.127296Z",
          "shell.execute_reply.started": "2022-09-30T10:03:37.114577Z"
        },
        "id": "G5zNdnhpPPFG",
        "outputId": "9b1bf9e9-e5e7-446d-8561-c5ad592fb1b3",
        "trusted": true
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            " Sentence: When was I last outside? I am stuck at home for 2 weeks.\n",
            "   Tokens: ['when', 'was', 'i', 'last', 'outside', '?', 'i', 'am', 'stuck', 'at', 'home', 'for', '2', 'weeks', '.']\n",
            "Token IDs: [2043, 2001, 1045, 2197, 2648, 1029, 1045, 2572, 5881, 2012, 2188, 2005, 1016, 3134, 1012]\n",
            "Encoding keys: dict_keys(['input_ids', 'attention_mask'])\n",
            "17\n",
            "tensor([ 101, 2043, 2001, 1045, 2197, 2648, 1029, 1045, 2572, 5881, 2012, 2188,\n",
            "        2005, 1016, 3134, 1012,  102])\n",
            "17\n",
            "tensor([[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]])\n",
            "['[CLS]', 'when', 'was', 'i', 'last', 'outside', '?', 'i', 'am', 'stuck', 'at', 'home', 'for', '2', 'weeks', '.', '[SEP]']\n"
          ]
        }
      ],
      "source": [
        "sample_txt = 'When was I last outside? I am stuck at home for 2 weeks.'\n",
        "\n",
        "tokens = tokenizer.tokenize(sample_txt)\n",
        "\n",
        "token_ids = tokenizer.convert_tokens_to_ids(tokens)\n",
        "\n",
        "print(f' Sentence: {sample_txt}')\n",
        "print(f'   Tokens: {tokens}')\n",
        "print(f'Token IDs: {token_ids}')\n",
        "\n",
        "encoding = tokenizer.encode_plus(\n",
        "    sample_txt,\n",
        "    max_length=32,\n",
        "    truncation=True,\n",
        "    add_special_tokens=True, # Add '[CLS]' and '[SEP]'\n",
        "    return_token_type_ids=False,\n",
        "    padding=True,\n",
        "    return_attention_mask=True,\n",
        "    return_tensors='pt')  # Return PyTorch tensors)\n",
        "\n",
        "print(f'Encoding keys: {encoding.keys()}')\n",
        "print(len(encoding['input_ids'][0]))\n",
        "print(encoding['input_ids'][0])\n",
        "print(len(encoding['attention_mask'][0]))\n",
        "print(encoding['attention_mask'])\n",
        "print(tokenizer.convert_ids_to_tokens(encoding['input_ids'][0]))"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "kGCthVhzkXov"
      },
      "source": [
        "### EDA of token counts in the reviews dataset"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 14,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 578
        },
        "execution": {
          "iopub.execute_input": "2022-09-30T10:03:37.131802Z",
          "iopub.status.busy": "2022-09-30T10:03:37.131309Z",
          "iopub.status.idle": "2022-09-30T10:04:14.218133Z",
          "shell.execute_reply": "2022-09-30T10:04:14.217069Z",
          "shell.execute_reply.started": "2022-09-30T10:03:37.131763Z"
        },
        "id": "2N872LZ9Rn2l",
        "outputId": "d23c1d20-16b8-4466-afee-a045ce8d0982",
        "trusted": true
      },
      "outputs": [
        {
          "name": "stderr",
          "output_type": "stream",
          "text": [
            "/usr/local/lib/python3.7/dist-packages/seaborn/distributions.py:2619: FutureWarning: `distplot` is a deprecated function and will be removed in a future version. Please adapt your code to use either `displot` (a figure-level function with similar flexibility) or `histplot` (an axes-level function for histograms).\n",
            "  warnings.warn(msg, FutureWarning)\n"
          ]
        },
        {
          "data": {
            "text/plain": [
              "Text(0.5, 0, 'Token count')"
            ]
          },
          "execution_count": 14,
          "metadata": {},
          "output_type": "execute_result"
        },
        {
          "data": {
            "image/png": "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y7cXkGYHAABACzAMQ2G/U+vDfnkdlSBJKl/UzsG4jk1kZJJuBwBg3rK98V2a2xNPPKF7771XO3fu1Pj4uLq6uvTWt75V73vf+7RmzZo3ff7du3frxz/+sXbs2KHh4WG1t7dr/fr1uvXWW/XOd76zpjW+8soreuaZZ/TKK69o//79GhkZ0fj4uFwul5YuXapLLrlEt912m5YuXfqm/5zA6YrEK2n2NpdNHkfLv8wAAABgHnHZrVob8mkwntWR8YxMTabbD49nFEvntSLokcvOFZ0AAMw3Ld0B+9znPqd77733uGNHjx7VL3/5S/3mN7/RF7/4Rd14441nff4HHnhAd911l/L5Snp3aGhITz75pJ588knddttt+td//dea1fj9739fDz/88AnHE4mEdu3apV27dumnP/2pPv3pT+vWW2898z8gcIYKJVPDyVz5NrPZAQAA0IoMw9CCNpcCbrteG0kpNTU6JpEramckrsXtboV8DhmG8QZnAgAAraJlR8fcc8895Qb2VVddpc2bN2vHjh364Q9/qNWrVyuXy+nTn/60XnjhhbM6/wsvvKDPfOYzyufzWr16tX74wx9qx44d2rx5s6666ipJ0s9//nPdc889NasxEAjove99r774xS/qv//7v/XYY49px44d+vWvf61PfvKT6u7uVi6X0+c+9zn97ne/O6s/J3AmhpNZlaaulnXbLGpztvTv8gAAADDPue1WrQ37tLDNpemWesmUBmJp7R5KKltgdjsAAPNFS3bBRkdH9Z3vfEeSdNlll+nuu+8uJwkuu+wyrV+/Xtdff72Gh4f19a9/Xffdd98ZP8fXvvY1FQoFdXV16Sc/+Yk6OjokScFgUHfffbc++MEP6umnn9Z3vvMd/fVf/7WCweCs1/iFL3zhpLUFg0H19vbq6quv1nvf+16lUindc889+qu/+qsz/nMCp8s0TUXjlTR7yO8kwQMAAICWZzEMLWp3KeC2af9oSul8SZIUzxb0ymBcSwJudXtJtwMA0OpaMtH+wAMPKJVKSZL+6Z/+6YQ3NB0dHfrQhz4kSfrzn/+snTt3ntH5X375Zb300kuSpA996EPlJvs0wzD0sY99TJKUSqX061//es5rlKQlS5bo4osvljQ5zx2opfFMQdni5IcKq8VQp8dR54oAAACAueN12LQu7NeCqvGJJVM6OJbWq8NJ5abe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P//5zzU8PKyhoSHt3r37Dds8/fTTtcu33377kvf/5S9/WdJ0T/QPfOADb9jmyJEjOnPmzGX3X68ajx8/rj/5kz9ROp1WOBzWN77xDW3cuHFJzweXNpGZaxvTzWp2AAAAAACwiNnAu2kMQ7u6vZrIFHUukVe5Or1ccDJb0k/PTKkv4NQ6v0tWS2vb4AboH481ouNax0jSnXfeWWvN8sADD7zhKzPxeFyPPvqoJOn6669f8or2a6+9Vtddd50k6dFHH1U8Hl9wv2maeuCBByRNDz5917ve1ZAaz507pw996EOampqS3+/X17/+dW3fvn1JzwWXli1WlC1VJE1P+o547a0tCAAAAAAA4HUMw1C3z6lr+/wLFgmaki4mCzo0ktRUtkg7GaAJOjJoj0Qi+vCHPyxpekDofffdp6GhIcViMb3wwgu6++67NT4+LpvNpo9//ONvePzevXs1MDCggYEB7d2795LH+MQnPiGbzabx8XHdfffdeuGFFxSLxTQ0NKT77rtPzz//vCTpwx/+sCKRSN1rnJiY0Ac/+EGNjo7K4XDowQcf1JYtW5TJZC75J5fLLft8rkUTmULtcthjl83SkT8qAAAAAACgA9isFm2NeHR1r0/eeS1jihVTxyezOjaRUX5mQSGAxujY727ce++9OnfunJ588kn94Ac/0A9+8IMF99vtdn3+85/XjTfeuKz933jjjfr85z+vT3/60zp27Jg+9KEPvWGb9773vbr33nsbUuOPf/zjWmuaYrG46HEkacOGDXr22Wev5KmteVXT1GSWIagAAAAAAKC9eB027e7xvaGdTDJf1qGRlPr8Tq0LtL6dDNCJOjZol6S//du/1Vvf+lY98cQTOnz4sBKJhLq7u3XTTTfpAx/4gAYGBla0/zvvvFNXX321/vmf/1k//elPNT4+rmAwqMHBQd11113as2dPy2vE0sVzpdovIofVoJcYAAAAAABoG7PtZMJuu84l8hqfmUFnSrqYKmgyW9SmkFtht12GQeAO1EvHJ4h79uy5osB7vve85z16z3vec0XbDgwM6O///u+XU1pNo2vE0swfghr1OvilAwAAAAAA2s5sO5lun0PDUzllitOtY4oVUycmswq4bNoScstlt/6SPQG4EjSeBuYpVqpK5OemhHfRNgYAAAAAALSx2XYyW8Nu2ea1jJltJ3M2nlOlyrBUYKUI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AAAAAAAUIGgHAAAAAIACBO0AAAAAAFCAoB0AAAAAAAoQtAMAAAAAQAGCdgAAAAAAKEDQDgAAAAAABQjaAQAAAACgAEE7AAAAAAAUIGgHAAAAAIACBO0AAAAAAFCAoB0AAAAAAAoQtAMAAAAAQAGCdgAAAAAAKEDQDgAAAAAABQjaAQAAAACgAEE7AAAAAAAUIGgHAAAAAIACBO0AAAAAAFCAoB0AAAAAAAoQtAMAAAAAQAGCdgAAAAAAKEDQDgAAAAAABQjaAQAAAACgAEE7AAAAAAAUIGgHAAAAAIACBO0AAAAAAFCAoB0AAAAAAAoQtAMAAAAAQAGCdgAAAAAAKEDQDgAAAAAABQjaAQAAAACgAEE7AAAAAAAUIGgHAAAAAIACBO0AAAAAAFCAoB0AAAAAAAoQtAMAAAAAQAGCdgAAAAAAKEDQDgAAAAAABQjaAQAAAACgAEE7AAAAAAAUIGgHAAAAAIACBO0AAAAAAFCAoB0AAAAAAAoQtAMAAAAAQAGCdgAAAAAAKEDQDgAAAAAABQjaAQAAAACgAEE7AAAAAAAUIGgHAAAAAIACBO0AAAAAAFCAoB0AAAAAAAoQtAMAAAAAQAGCdgAAAAAAKEDQDgAAAAAABQjaAQAAAACgAEE7AAAAAAAUIGgHAAAAAIACBO0AAAAAAFCAoB0AAAAAAAoQtAMAAAAAQAGCdgAAAAAAKEDQDgAAAAAABQjaAQAAAACgAEE7AAAAAAAUIGgHAAAAAIACBO0AAAAAAFCAoB0AAAAAAAoQtAMAAAAAQAGCdgAAAAAAKEDQDgAAAAAABQjaAQAAAACgAEE7AAAAAAAUIGgHAAAAAIACBO0AAAAAAFCAoB0AAAAAAAoQtAMAAAAAQAGCdgAAAAAAKEDQDgAAAAAABQjaAQAAAACgAEE7AAAAAAAUIGgHAAAAAIACBO0AAAAAAFCAoB0AAAAAAAoQtAMAAAAAQAGCdgAAAAAAKEDQDgAAAAAABQjaAQAAAACgAEE7AAAAAAAUIGgHAAAAAIACBO0AAAAAAFCAoB0AAAAAAAoQtAMAAAAAQAGCdgAAAAAAKEDQDgAAAAAABQjaAQAAAACgAEE7AAAAAAAUIGgHAAAAAIACBO0AAAAAAFCAoB0AAAAAAAoQtAMAAAAAQAGCdgAAAAAAKEDQDgAAAAAABQjaAQAAAACgAEE7AAAA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+M1vfjNJMnPmzFxzzTXLlb/wwgt55JFHkiRDhw5NmzYtbkl+AAAAAIC1rvWIESNGrO1ONLeOHTumdevWeeqpp/L2229nwoQJ6dWrV1q3bp0XX3wxZ555ZqZMmZI2bdrkkksuSffu3evsP3bs2Bx66KG57LLL0qNHj/Tt23e5Y2y33Xb5wx/+kHnz5uWxxx7LNttsk4022ihvvfVWfvazn+Xhhx9Okpx++ukZOHBgs/cxSbbddtuMHz8+kydPzjPPPJPq6ur06NEjlZWVuf/++/OjH/0oixYtSteuXXPxxRenQ4cOzTTCAAAAAADUKqv55KPULcg555yTMWPG1FvWtm3bnHfeeTn00EOXKxs7dmyGDx+eJBk5cmSGDBlSbxt33nlnzj777FRVVdVbfsQRR+SnP/3pauljrTlz5mTYsGENrtPepUuXjBo1qt4fFgAAAAAAUFyLfKK91r777puddtopc+fOzfz581NVVZVu3brlgAMOyMiRI+t90jxJXn311Tz44INJkoqKigZD6r59+2b//ffP4sWLM3v27CxatCjl5eX5whe+kOHDh+e4445bbX2s1b59+wwePDibb755Zs+enYULF6ZVq1bZZpttMnTo0Fx00UXZeuutV9gPAAAAAABWTYt+oh0AAAAAAFa3FvkyVAAAAAAAWFME7QAAAAAAUICgHQAAAAAAChC0AwAAAABAAYJ2AAAAAAAoQNAOAAAAAAAFCNoBAAAAAKAAQTsAAAAAABTQZm13gPXTww8/nDFjxuTll1/O7Nmz07lz5+yxxx455phj0qdPn7XdPaAZvPPOO9l///2bVPfpp59OeXl5vWXV1dUZM2ZM7rnnnkyaNCmVlZXp3r17Kioqcuyxxza4H7Dm1dTU5M0338z48eNLf1577bVUVVUlSR588MH07Nlzhe00x3U/c+bMXHvttXnggQfy7rvvpl27dunVq1cGDRqUI444Im3auI2F1a3onDB27NgMHz58hcfZYYcd8sc//rHROuYEWDcsXrw4jz/+eJ544omMHz8+U6ZMyYIFC7LRRhtlhx12yH777ZdvfOMb2WijjRptx70CtAxF54SWdq9QVlNTU7Paj0KLcs4552TMmDH1lrVr1y7nnntuDj300DXcK6C5NUfQPnfu3JxwwgkZN25cvft16dIlo0aNSt++fQv1FWgeK7rumxK0N8d1/8orr+Skk07K9OnT6y0fMGBARo8enY033rjRvgDFFJ0TmuubZ3MCrDs+//nPZ/78+Y3W6datWy699NLssssu9Za7V4CWo+ic0NLuFQTtrJRRo0bl5z//eZKkoqIip5xySrbccsu88sorufDCCzNhwoS0adMm119/fXbddde13FugiGW/ub7yyiuz2267NVh3ww03rPfzE088MY899ljKyspy8skn57DDDkuHDh3yxBNP5L//+78zd+7cdO3aNXfffXc6deq0Ws4DaLplr/tu3bpl5513zkcffZTnn38+SdOC9qLX/axZs3LIIYdk2rRp2WSTTTJ8+PAMHDgwixYtyh133JHf/e53qampyV577ZVRo0Y1/yAAJUXnhGW/eX7xxRcbrNe6det06NCh3jJzAqxb+vTpk7Zt26aioiIVFRXZeeed06lTp3zwwQe5++67c/XVV6e6ujqbbrpp7rnnnnTt2nW5NtwrQMtRdE5ocfcKNdBEH374Yc2AAQNqevfuXXP88cfXLF26tE75zJkza7785S/X9O7du2bo0KFrqZdAc5kyZUpN7969a3r37l3z17/+daX3f+SRR0r7X3755cuVP/fcczV9+vSp6d27d83FF1/cHF0GCpo7d27NX/7yl5oPPvig9Nmvf/3r0rU8ZcqURvdvjuv+oosuqundu3dNnz59ap577rnlyi+//PLSMR599NGVPENgZRSdE+64445S3VVlToB1y4gRI+rMCZ909913l67Jc845Z7ly9wrQshSdE1ravYKXodJkd955ZxYsWJAkOeOMM1JWVlanfLPNNsuwYcOSJOPGjcvLL7+8xvsIrDtuuummJB/PDSeccMJy5bvttlv22WefJMltt92W6urqNdk9oB4bbbRRKioq0qVLl1Xav+h1X11dnVtvvTVJss8++9T7mzQnnHBC6em22uMBq0fROaEocwKse84555xG54RBgwald+/eSZLHHntsuXL3CtCyFJ0TilrX5gRBO0328MNK00/QAAAZrElEQVQPJ0m23nrr9OvXr946Bx10UGn7oYceWiP9AtY9ixYtytNPP50k2X///dOuXbt669XOGbNmzcoLL7ywxvoHNL/muO6ff/75zJkzp069T2rXrl0qKiqSJE899VQWLVrULP0H1j3mBFg/7bDDDkmSDz74oM7n7hXg06mhOaE5rGtzgqCdJqt9Qr1///4N1unWrVtpvSVPtEPLU1lZ2aR6EydOzOLFi5N8/NKRhixbZs6A9VtzXPfLft2UNhYvXpzXX399lfoLrB1NvZdIzAmwvpoxY0aSLPfSQfcK8OnU0JzQkPX5XqHNamuZFmXatGmlZWO22mqrRuv27Nkz06ZNy6RJk9ZE14A14Nxzz83UqVOzYMGCtGvXLttuu22+8pWv5Nvf/na6deu2XP1lr//GXpLWvXv3tGrVKkuXLjVnwHquOa772q9btWqV7t27N9jGsu1PmjQpO+2006p2G1hDBg8enIkTJ6aqqiobbLBBdtxxxxxwwAH5xje+kQ022KDefcwJsP6ZMWNG6YWGn/vc5+qUuVeAT5/G5oRPagn3Cp5op0k++uij0vbmm2/eaN3a8lmzZq3WPgFrzsSJE0s/bKusrMyECRNy1VVX5aCDDsq99967XP2mzhlt27bNJptsksScAeu75rjua9vYZJNN0rZt2wbbKC8vL22bO2D98Morr6SqqipJsmDBgjz//PMZOXJkDjnkkPzzn/+sdx9zAqx/LrnkktK1fuSRR9Ypc68Anz6NzQmf1BLuFTzRTpPUBmxJ0r59+0br1pbPnz9/tfYJWL1atWqVgQMH5mtf+1r69euXLbfcMu3bt8/kyZNz77335uqrr86CBQvyn//5n9l0000zcODA0r4LFy4sbTd1zlh2ngHWP81x3de2saL9O3ToUNo2d8C6q0OHDhk8eHAqKiqy3XbbpVu3blmyZEn++c9/5qabbsq9996bKVOm5IQTTsjYsWNLS1DWMifA+uXuu+/O2LFjkyT77bdfvvKVr9Qpd68Any4rmhOSlnevIGgHoF7du3fPVVddtdznvXv3Tu/evbP33nvn2GOPzeLFi3PuuefmT3/6U1q3br0WegoArIsOPvjgHHzwwct9vttuu2W33XbLLrvskpEjR2bGjBn51a9+lZEjR66FXgLNYfz48Tn77LOTJFtuuWXOP//8tdwjYG1q6pzQ0u4VLB1Dkyy7FlLty0saUlu+4YYbrtY+AWvX5z//+Rx99NFJkrfeeivjx48vlXXs2LG03dQ5o6E114D1Q3Nc97VtrGj/RYsWlbbNHbD+OvbYY7PLLrskSe67777Sr4vXMifA+uHNN9/MSSedlEWLFqVTp04ZPXp0nWUaarlXgE+Hps4JTbG+3SsI2mmSzTbbrLT94YcfNlq3trxTp06rtU/A2rfffvuVtl955ZXSdlPnjKqqqsyZMyeJOQPWd81x3de2MWfOnFRXVzfYxsyZM0vb5g5Yv9XeSyxYsCCTJ0+uU2ZOgHXfu+++m+OPPz4fffRRNtxww4waNSrbb799vXXdK0DLtzJzQlOtT/cKgnaaZIsttij9xGfKlCmN1n3nnXeSJL169Vrt/QLWrmVfYjR37tzS9rLXf+2cUJ933303S5cuXW4fYP3THNd97ddLly7N1KlTG2xj2fbNHbB+W/ZeojZYq2VOgHXbjBkzctxxx+W9995Lhw4dcsUVV5SePK2PewVo2VZ2Tmiq9eleQdBOk5SVlaVfv35JUmd5iE96//33M23atCQp1QdarhkzZpS2N95449L2DjvsUHoZybhx4xrc/6WXXiptmzNg/dYc1/2yXzeljfbt2xd+QgZYu6ZPn17a3mSTTeqUmRNg3TV79uwcd9xxeeutt9K2bdv8+te/zu67797oPu4VoOValTmhqdanewVBO0227777JkkmT56cV199td469913X2l72SUlgJbpL3/5S2l72f/gOnTokD322CNJ8uCDD6aysrLe/WvnjE6dOmXXXXddjT0FVrfmuO5322230s3zsvcUy6qsrMxDDz2UJPnyl7+cDh06NEv/gbXjwQcfTPLx+5222WabOmXmBFg3zZ8/P8OGDcuECRPSqlWrXHTRRdl7771XuJ97BWiZVnVOaKr16V5B0E6TDR48uLR8zCWXXJKampo65bNmzcro0aOTJP379/d0Kqzn3n///UbLn3nmmdx0001Jkm233Xa5Xwn75je/meTjtdCuueaa5fZ/4YUX8sgjjyRJhg4dmjZt2jRDr4G1qeh136ZNm3zjG99Ikjz88MN54YUXlmvjmmuuKa2xWHs8YN0zb968zJs3r9E6V155ZV5++eUkyUEHHZS2bdvWKTcnwLqnsrIy3/nOd0q/6f6zn/0sBx98cJP3d68ALUuROaEl3iu0HjFixIjVegRajI4dO6Z169Z56qmn8vbbb2fChAnp1atXWrdunRdffDFnnnlmpkyZkjZt2uSSSy5J9+7d13aXgQIqKioybty4VFZWpnXr1mnVqlUWLVqUiRMn5uqrr855552XqqqqtGnTJj//+c+X+8nytttum/Hjx2fy5Ml55plnUl1dnR49eqSysjL3339/fvSjH2XRokXp2rVrLr74Yk+awDri9ddfz9tvv533338/77//fp599tnSy4533333zJ07t1TWrl27dOzYsbRvc1z3/fr1yz333JN58+blgQceSOfOndO5c+fMnDkzV199dX7zm9+kpqYme+21V0477bQ1Ni7wabWqc8Ibb7yRQw89NFOnTs3SpUtLYdncuXPz4osv5sILL8zvf//7JEmXLl3yi1/8IhtttNFyxzcnwLpjyZIlOf300/P4448nSf7jP/4jQ4cOTVVVVYN/2rZtm7KyslIb7hWg5Sg6J7TEe4Wymk8+lgwrcM4552TMmDH1lrVt2zbnnXdeDj300DXcK6C57bbbbnVecFqfTTfdNOeff34OOOCAesvnzJmTYcOGNbhWWpcuXTJq1Kj07du3cH+B5nH00Ufn2WefbVLdkSNHZsiQIXU+a47r/pVXXslJJ51UZz3GZQ0YMCCjR4+u824IYPVY1Tnh1VdfbdL3BNtvv33+53/+p9H1Us0JsG545513sv/++6/UPg8++GB69uxZ5zP3CtAyFJ0TWuK9gifaWWn77rtvdtppp8ydOzfz589PVVVVunXrlgMOOCAjR47MwIED13YXgWbQq1evbLHFFikrK0urVq2yZMmSJEl5eXl22WWXHHHEERk5cmSjy0S1b98+gwcPzuabb57Zs2dn4cKFadWqVbbZZpsMHTo0F110Ubbeeus1dUpAE9x5552ZOnVqk+pWVFQs901wc1z3Xbp0yaGHHprWrVtn1qxZWbRoUTbYYIP07ds3J554Ys4555w6T9IDq8+qzgkbbLBBttpqq5SXlydJysrKSk+ybbHFFvnSl76Uk08+OWeffXa6dOnSaLvmBFg3zJkzJ9dff/1K7XPMMccs9/JC9wrQMhSdE1rivYIn2gEAAAAAoAAvQwUAAAAAgAIE7QAAAAAAUICgHQAAAAAAChC0AwAAAABAAYJ2AAAAAAAoQNAOAAAAAAAFCNoBAAAAAKAAQTsAAAAAABQgaAcAAAAAgAIE7QAAAAAAUICgHQAAAAAAChC0AwAAAABAAYJ2AAAAAAAoQNAOAAAtyDvvvJM+ffqkT58+ufTSS9d2dwAA4FOhzdruAAAAtCTvvPNO9t9//8LtDB48OBdccEEz9AgAAFjdPNEOAADQAj3zzDOl324YO3bs2u4OAECL5ol2AABoRl27ds0999zTYPnw4cPzj3/8I0ly1VVXZYsttqi33qabbrpa+gcAADQ/QTsAADSjtm3bpnfv3g2Wb7DBBqXtbbfdNj179lwT3QIAAFYjS8cAAAAAAEABnmgHAIB1zLx583LzzTfnoYceyqRJkzJv3rxsuumm6d27dw488MD827/9W9q2bVvoGHfeeWfOOuusVFdXZ4cddsjo0aPTrVu3OnWmTp2am2++OU899VSmTp2a+fPnp1OnTunbt28OPvjgDBo0KG3a1P8txY9+9KPceeedSZLXXnstVVVVufnmm3P33Xdn8uTJqaqqSs+ePXPggQfm+OOPz0YbbVTofGrNnDkzt9xyS5588slMmjQps2fPTtu2bdOjR4/0798/FRUV2WuvvdK6det693/44Ydz1113Zdy4cfnwww/Tvn37bLnllhk4cGC+9a1vpUePHg0ee7/99svUqVOz++6754Ybbmiw3tixYzN8+PAkyfXXX58vfvGLdcovvfTSXHbZZUmSBx98MD169Mhdd92VO+64IxMnTsyCBQuy5ZZbZp999snJJ5+czTffvM7+9b2Qd/jw4aVj1lpRPwEAaDpBOwAArENeeumlfPe7382MGTPqfD5jxozMmDEjTz31VK677rpceeWV2XrrrVfpGL/73e/yi1/8Ikmy66675re//e1ya8JfddVV+eUvf5mqqqo6n0+fPj3Tp0/PY489lhtuuCG//e1v07Vr10aPN3PmzJx44omltelrTZw4MRMnTsz999+fG264IZttttkqnU+tsWPH5txzz82CBQvqfF5VVVU61u2335677rorffv2rVNn/vz5OeOMM/LII4/U+byysjJz587NhAkTcuONN+YnP/lJhg4dWqifK2Px4sU58cQT8/jjj9f5fPLkybnuuuty33335cYbb1zlfwsAADQPQTsAAKwj3njjjRx33HGloPjrX/96Bg0alC5dumTq1Km59dZb8/jjj2fSpEn51re+lT/84Q8rFU4vXbo0559/fm688cYkyQEHHJBLLrkk7du3r1Nv2Seqe/XqlSOPPDK9evXK5ptvng8++CD3339/7rrrrrz88ssZNmxYbrnlljprz3/Sd7/73bz22mv55je/mf333z/l5eWZMmVKRo8enfHjx2fixIm58MILc8EFF6zskJXceOONOffcc5N8vE7+kCFDstdee2XLLbdMVVVVJk2alKeeeioPPPDAcvvW1NTktNNOy5NPPpkk2X777XPsscemT58+WbRoUR5//PFcd911Wbx4cc4666x07NgxX//611e5ryvjrLPOyt/+9rcMGjQoBx98cLp165YPPvggN9xwQ5544olMmzYtP/7xj+s8mV77Qt6///3v+X//7/8lSb73ve8t95R7x44d18g5AAB8GgjaAQBgHXH22WeXQvYRI0bkyCOPLJX169cvBx54YC688MJcffXVmTZt2kqF05WVlfnBD36QP//5z0mSI444Iuecc05atar72qYXXnghv/nNb5IkJ510Ur7//e/XqdOvX7/su+++2W+//XLaaadlwoQJufbaa3PKKac0eOzx48dn1KhR+fKXv1z6bMcdd8zee++dww47LK+//nr++Mc/5oc//GHKy8ubdD7Lev3110vjUF5enquuuio77rhjnToDBgzI4MGDM2fOnOXO+fbbby+F7LvvvntGjx5d54cPu+++eyoqKnLMMcdk4cKFGTFiRPbee+9svPHGK93XlfXiiy9m5MiRGTJkSOmzHXfcMXvttVeOP/74PP3003n22Wfzz3/+M5/97GeT/N8LeT/66KPSPl27dm30Jb0AABTjZagAALAOePnll/PCCy8kSb7yla/UCdmXdeaZZ2a77bZLkvzxj3/Mhx9+uMK258yZk+OPP74Usp922mn56U9/ulzgnCRXXHFFampqsssuu+SMM86ot07y8dPwBx54YJLktttua/T4Rx11VJ2QvVaHDh1y1FFHJfl4eZeXXnpphedSn1GjRpWWuDn33HOXC9mXtckmmyy3Hvz111+f5OOA+qKLLlruCf8k6d+/f04++eQkydy5c3PHHXesUl9XVkVFRZ2QvVarVq1y3HHHlb5+7rnn1kh/AACon6AdAADWAbVPVCcfP23ekDZt2pTWCK+qqsozzzzTaLvTpk3LUUcdleeeey6tW7fOeeedl1NPPbXeuvPnz89TTz2VJPna176WsrKyRtvefffdkyTvvvtu3n///QbrHXLIIQ2W7bzzzqXtKVOmNHq8+tTU1JTWVd92221TUVGxUvtPnz49EyZMSJLSUjMNOfzww0s/eFj272t1Wp1jBwBA87F0DAAArANee+210vaAAQMarfu5z32uzn4HH3xwvfXefPPNHH744XnvvffSoUOH/PKXv8x+++3XYLuvvPJKqqurkyQjR47MyJEjm9z/Dz74IN26dau37DOf+UyD+3Xq1Km0PW/evCYfr9Y777yTWbNmJfm/4H9l1IbsyYrHvby8PNtss00mTZpU5+9rdVqdYwcAQPPxRDsAAKwDasPiVq1aZfPNN2+0bufOnZfbrz5/+tOf8t577yVJzjjjjEZD9iRNWoamIYsWLWqwrLEXpS771PzSpUtX+rgzZ84sbW+xxRYrvf+y49elS5cV1q+t09i4N6fGXli67LI+qzJ2AAA0H0+0AwBAC/WVr3wlL774YubPn59f/epX6du3b6NPfS9ZsqS0/f3vf3+FwfyyevbsWaivAACwPhO0AwDAOqB2GZClS5fmww8/rPPU+ifNmDFjuf3q079//5x66qkZNmxY5s6dm5NOOim//e1vs8cee9Rbv7y8vLTdpk2b9O7de2VPY41bts8ffPDBSu+/7PhNnz59hfVr69Q37rVPmK/o6fKFCxeuTBcBAFgPWDoGAADWAX369Cltv/TSS43W/dvf/lba/uxnP9to3QEDBuSaa67JpptumoULF+bkk0/O448/Xm/dvn37lsLi559/vqldX6t69uxZCr2fffbZld5/2XEfN25co3VnzpyZyZMnJ6l/3DfccMMkyZw5cxpt54033ljZbq6SFb3MFgCA5iNoBwCAdcDAgQNL27feemuD9ZYsWZLbb789SdK2bdt88YtfXGHbO++8c6699tp06tQpixcvzimnnJJHHnlkuXqdOnXKF77whSTJY489lokTJ67kWax5ZWVlpSVu3nrrrTzwwAMrtX/nzp1LYftjjz2W999/v8G6t912W+lp9T333HO58q222ipJMmnSpAZfTrp48eLcf//9K9XHVdWhQ4fSdmVl5Ro5JgDAp5WgHQAA1gE77rhjdttttyTJo48+mttuu63eer/85S/z+uuvJ0kGDRpUZ+mUFbV/3XXXpby8PJWVlTn11FPrDaVPO+20lJWVZcmSJTn11FMzZcqURtt94403cu+99zapD6vLsGHD0rZt2yTJ2WefnVdffbXBunPnzl0uBP/2t7+d5OMw+r/+67/qDaX//ve/54orrkiSbLLJJhkyZMhydWrXv6+qqsq11167XPnSpUszYsSIJi1R0xyWfTnsW2+9tUaOCQDwaWWNdgAAWEece+65Oeyww7JgwYKcddZZefbZZ/P1r389nTt3zrvvvptbb701jz32WJKka9eu+eEPf7hS7X/2s5/NDTfckGOOOSYzZszI9773vVxyySX56le/WqrzhS98Iaeffnp+9atf5a233sqgQYMyePDg7LnnnunWrVtpDflXX301jz76aF566aUMGjQoX/va15p1LFbGdtttl+HDh+dnP/tZZs6cmaFDh2bIkCHZZ5990rVr11RXV2fy5Ml5+umn8+c//zm///3v07dv39L+hx12WP70pz/lySefzF//+tcMGTIkxx57bPr06ZNFixbliSeeyLXXXptFixYlSUaMGJGNN954uX4MGjQol112WWbPnp3LLrsss2bNyr/8y7+kQ4cOefPNN3PzzTfnxRdfzOc///m8+OKLq31cunXrlh49emTq1Km5/fbbs/3222ennXYq/VCiY8eO6d69+2rvBwDAp4GgHQAA1hGf+cxncs011+S73/1uZsyYkbvvvjt33333cvV69eqVK6+8MpttttlKH2P77bcvhe0ffPBBzjjjjFx88cU5+OCDS3W+853vpLy8PBdccEEWLFiQm266KTfddFODbdYXOq9pRx11VNq1a5fzzz8/CxcuzC233JJbbrmlSfuWlZXl0ksvzRlnnJFHHnkkEydOzI9//OPl6rVr1y4/+clPGvyhwmabbZaRI0fm9NNPT1VVVW644YbccMMNdY7zne98J1tvvfUaCdqT5NRTT83w4cMzd+7c5c5p9913r9M/AABWnaAdAADWIQMGDMif//zn3HTTTXnooYcyadKkzJ8/P5tsskn69OmTAw88MIcddljatWu3ysf4zGc+kxtvvDHHHHNM3nvvvfzgBz9IdXV1DjnkkFKdww8/PAceeGBuu+22PPnkk3njjTcya9astGrVKp06dcq2226bz33uc9lvv/3Sv3//5jj1woYOHZp99903N910U5544olMnjw5c+fOTYcOHdKjR48MGDAgX/3qVxt8kenvfve7PPTQQ7nrrrsybty4zJw5M+3atUv37t2z55575uijj06PHj0a7cP++++f22+/PVdeeWWeffbZzJo1K506dcouu+ySo48+OnvssUfGjh27uoZgOUOGDEmXLl1y88035x//+EdmzpyZqqqqNXZ8AIBPi7Kampqatd0JAAAAAABYX3kZKgAAAAAAFCBoBwAAAACAAgTtAAAAAABQgKAdAAAAAAAKELQDAAAAAEABgnYAAAAAAChA0A4AAAAAAAUI2gEAAAAAoABBOwAAAAAAFCBoBwAAAACAAgTtAAAAAABQgKAdAAAAAAAKELQDAAAAAEABgnYAAAAAAChA0A4AAAAAAAUI2gEAAAAAoABBOwAAAAAAFCBoBwAAAACAAgTtAAAAAABQwP8HiTn+iLeO34cAAAAASUVORK5CYII=",
            "text/plain": [
              "<Figure size 864x576 with 1 Axes>"
            ]
          },
          "metadata": {
            "image/png": {
              "height": 489,
              "width": 749
            }
          },
          "output_type": "display_data"
        }
      ],
      "source": [
        "token_lens = []\n",
        "\n",
        "for txt in df.text:\n",
        "    tokens = tokenizer.encode(txt, truncation=True, max_length=512)\n",
        "    token_lens.append(len(tokens))\n",
        "\n",
        "\n",
        "sns.distplot(token_lens)\n",
        "\n",
        "plt.xlim([0,256])\n",
        "\n",
        "plt.xlabel('Token count')"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "podvfmBOkdgw"
      },
      "source": [
        "# Dataset Utility Class"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 16,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "execution": {
          "iopub.execute_input": "2022-09-30T10:04:14.236953Z",
          "iopub.status.busy": "2022-09-30T10:04:14.236534Z",
          "iopub.status.idle": "2022-09-30T10:04:14.253955Z",
          "shell.execute_reply": "2022-09-30T10:04:14.253125Z",
          "shell.execute_reply.started": "2022-09-30T10:04:14.236816Z"
        },
        "id": "RWoU73qh7l56",
        "outputId": "ef0361da-d2ec-43cb-ab7a-ccc8e6915bb3",
        "trusted": true
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "(7000, 10) (1500, 10) (1500, 10)\n"
          ]
        }
      ],
      "source": [
        "df_train, df_test = train_test_split(df, test_size = 0.3, random_state = RANDOM_SEED)\n",
        "\n",
        "df_val, df_test = train_test_split(df_test, test_size = 0.5, random_state = RANDOM_SEED)\n",
        "\n",
        "print(df_train.shape, df_val.shape, df_test.shape)"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 17,
      "metadata": {
        "execution": {
          "iopub.execute_input": "2022-09-30T10:04:14.255902Z",
          "iopub.status.busy": "2022-09-30T10:04:14.255227Z",
          "iopub.status.idle": "2022-09-30T10:04:14.262977Z",
          "shell.execute_reply": "2022-09-30T10:04:14.262249Z",
          "shell.execute_reply.started": "2022-09-30T10:04:14.255865Z"
        },
        "id": "Tl_RrPWM7l56",
        "trusted": true
      },
      "outputs": [],
      "source": [
        "train_data_loader = create_data_loader(df_train, tokenizer)\n",
        "val_data_loader = create_data_loader(df_val, tokenizer, include_raw_text=True)\n",
        "test_data_loader = create_data_loader(df_test, tokenizer, include_raw_text=True)"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 18,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "execution": {
          "iopub.execute_input": "2022-09-30T10:04:14.265126Z",
          "iopub.status.busy": "2022-09-30T10:04:14.264062Z",
          "iopub.status.idle": "2022-09-30T10:04:16.122733Z",
          "shell.execute_reply": "2022-09-30T10:04:16.121542Z",
          "shell.execute_reply.started": "2022-09-30T10:04:14.265093Z"
        },
        "id": "-iwZVkga7hjV",
        "outputId": "2ceb5bbe-6a56-442a-da41-1dea444c7803",
        "trusted": true
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "dict_keys(['input_ids', 'attention_mask', 'targets', 'review_text'])\n",
            "dict_keys(['input_ids', 'attention_mask', 'targets', 'review_text'])\n",
            "dict_keys(['input_ids', 'attention_mask', 'targets', 'review_text'])\n"
          ]
        },
        {
          "name": "stderr",
          "output_type": "stream",
          "text": [
            "/usr/local/lib/python3.7/dist-packages/transformers/tokenization_utils_base.py:2308: FutureWarning: The `pad_to_max_length` argument is deprecated and will be removed in a future version, use `padding=True` or `padding='longest'` to pad to the longest sequence in the batch, or use `padding='max_length'` to pad to a max length. In this case, you can give a specific length with `max_length` (e.g. `max_length=45`) or leave max_length to None to pad to the maximal input size of the model (e.g. 512 for Bert).\n",
            "  FutureWarning,\n"
          ]
        },
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "dict_keys(['input_ids', 'attention_mask', 'targets', 'review_text'])\n",
            "dict_keys(['input_ids', 'attention_mask', 'targets', 'review_text'])\n",
            "dict_keys(['input_ids', 'attention_mask', 'targets', 'review_text'])\n",
            "dict_keys(['input_ids', 'attention_mask', 'targets', 'review_text'])\n",
            "dict_keys(['input_ids', 'attention_mask', 'targets', 'review_text'])\n",
            "dict_keys(['input_ids', 'attention_mask', 'targets', 'review_text'])\n",
            "dict_keys(['input_ids', 'attention_mask', 'targets', 'review_text'])\n",
            "dict_keys(['input_ids', 'attention_mask', 'targets', 'review_text'])\n",
            "dict_keys(['input_ids', 'attention_mask', 'targets', 'review_text'])\n",
            "dict_keys(['input_ids', 'attention_mask', 'targets', 'review_text'])\n",
            "dict_keys(['input_ids', 'attention_mask', 'targets', 'review_text'])\n",
            "dict_keys(['input_ids', 'attention_mask', 'targets', 'review_text'])\n",
            "dict_keys(['input_ids', 'attention_mask', 'targets', 'review_text'])\n",
            "dict_keys(['input_ids', 'attention_mask', 'targets', 'review_text'])\n",
            "dict_keys(['input_ids', 'attention_mask', 'targets', 'review_text'])\n",
            "dict_keys(['input_ids', 'attention_mask', 'targets', 'review_text'])\n",
            "dict_keys(['input_ids', 'attention_mask', 'targets', 'review_text'])\n",
            "dict_keys(['input_ids', 'attention_mask', 'targets', 'review_text'])\n",
            "dict_keys(['input_ids', 'attention_mask', 'targets', 'review_text'])\n",
            "dict_keys(['input_ids', 'attention_mask', 'targets', 'review_text'])\n",
            "dict_keys(['input_ids', 'attention_mask', 'targets', 'review_text'])\n",
            "dict_keys(['input_ids', 'attention_mask', 'targets', 'review_text'])\n",
            "dict_keys(['input_ids', 'attention_mask', 'targets', 'review_text'])\n",
            "dict_keys(['input_ids', 'attention_mask', 'targets', 'review_text'])\n",
            "dict_keys(['input_ids', 'attention_mask', 'targets', 'review_text'])\n",
            "dict_keys(['input_ids', 'attention_mask', 'targets', 'review_text'])\n",
            "dict_keys(['input_ids', 'attention_mask', 'targets', 'review_text'])\n",
            "dict_keys(['input_ids', 'attention_mask', 'targets', 'review_text'])\n",
            "dict_keys(['input_ids', 'attention_mask', 'targets', 'review_text'])\n",
            "dict_keys(['input_ids', 'attention_mask', 'targets', 'review_text'])\n",
            "dict_keys(['input_ids', 'attention_mask', 'targets', 'review_text'])\n",
            "dict_keys(['input_ids', 'attention_mask', 'targets', 'review_text'])\n",
            "dict_keys(['input_ids', 'attention_mask', 'targets', 'review_text'])\n",
            "dict_keys(['input_ids', 'attention_mask', 'targets', 'review_text'])\n",
            "dict_keys(['input_ids', 'attention_mask', 'targets', 'review_text'])\n",
            "dict_keys(['input_ids', 'attention_mask', 'targets', 'review_text'])\n",
            "dict_keys(['input_ids', 'attention_mask', 'targets', 'review_text'])\n",
            "dict_keys(['input_ids', 'attention_mask', 'targets', 'review_text'])\n",
            "dict_keys(['input_ids', 'attention_mask', 'targets', 'review_text'])\n",
            "dict_keys(['input_ids', 'attention_mask', 'targets', 'review_text'])\n",
            "dict_keys(['input_ids', 'attention_mask', 'targets', 'review_text'])\n",
            "dict_keys(['input_ids', 'attention_mask', 'targets', 'review_text'])\n",
            "dict_keys(['input_ids', 'attention_mask', 'targets', 'review_text'])\n",
            "dict_keys(['input_ids', 'attention_mask', 'targets', 'review_text'])\n",
            "dict_keys(['input_ids', 'attention_mask', 'targets', 'review_text'])\n",
            "dict_keys(['input_ids', 'attention_mask', 'targets', 'review_text'])\n",
            "dict_keys(['input_ids', 'attention_mask', 'targets', 'review_text'])\n",
            "dict_keys(['input_ids', 'attention_mask', 'targets', 'review_text'])\n",
            "dict_keys(['input_ids', 'attention_mask', 'targets', 'review_text'])\n",
            "dict_keys(['input_ids', 'attention_mask', 'targets', 'review_text'])\n",
            "dict_keys(['input_ids', 'attention_mask', 'targets', 'review_text'])\n",
            "dict_keys(['input_ids', 'attention_mask', 'targets', 'review_text'])\n",
            "dict_keys(['input_ids', 'attention_mask', 'targets', 'review_text'])\n",
            "dict_keys(['input_ids', 'attention_mask', 'targets', 'review_text'])\n",
            "dict_keys(['input_ids', 'attention_mask', 'targets', 'review_text'])\n",
            "dict_keys(['input_ids', 'attention_mask', 'targets', 'review_text'])\n",
            "dict_keys(['input_ids', 'attention_mask', 'targets', 'review_text'])\n",
            "dict_keys(['input_ids', 'attention_mask', 'targets', 'review_text'])\n",
            "dict_keys(['input_ids', 'attention_mask', 'targets', 'review_text'])\n",
            "dict_keys(['input_ids', 'attention_mask', 'targets', 'review_text'])\n",
            "dict_keys(['input_ids', 'attention_mask', 'targets', 'review_text'])\n",
            "dict_keys(['input_ids', 'attention_mask', 'targets', 'review_text'])\n",
            "dict_keys(['input_ids', 'attention_mask', 'targets', 'review_text'])\n",
            "dict_keys(['input_ids', 'attention_mask', 'targets', 'review_text'])\n",
            "dict_keys(['input_ids', 'attention_mask', 'targets', 'review_text'])\n",
            "dict_keys(['input_ids', 'attention_mask', 'targets', 'review_text'])\n",
            "dict_keys(['input_ids', 'attention_mask', 'targets', 'review_text'])\n",
            "dict_keys(['input_ids', 'attention_mask', 'targets', 'review_text'])\n",
            "dict_keys(['input_ids', 'attention_mask', 'targets', 'review_text'])\n",
            "dict_keys(['input_ids', 'attention_mask', 'targets', 'review_text'])\n",
            "dict_keys(['input_ids', 'attention_mask', 'targets', 'review_text'])\n",
            "dict_keys(['input_ids', 'attention_mask', 'targets', 'review_text'])\n",
            "dict_keys(['input_ids', 'attention_mask', 'targets', 'review_text'])\n",
            "dict_keys(['input_ids', 'attention_mask', 'targets', 'review_text'])\n",
            "dict_keys(['input_ids', 'attention_mask', 'targets', 'review_text'])\n",
            "dict_keys(['input_ids', 'attention_mask', 'targets', 'review_text'])\n",
            "dict_keys(['input_ids', 'attention_mask', 'targets', 'review_text'])\n",
            "dict_keys(['input_ids', 'attention_mask', 'targets', 'review_text'])\n",
            "dict_keys(['input_ids', 'attention_mask', 'targets', 'review_text'])\n",
            "dict_keys(['input_ids', 'attention_mask', 'targets', 'review_text'])\n",
            "dict_keys(['input_ids', 'attention_mask', 'targets', 'review_text'])\n",
            "dict_keys(['input_ids', 'attention_mask', 'targets', 'review_text'])\n",
            "dict_keys(['input_ids', 'attention_mask', 'targets', 'review_text'])\n",
            "dict_keys(['input_ids', 'attention_mask', 'targets', 'review_text'])\n",
            "dict_keys(['input_ids', 'attention_mask', 'targets', 'review_text'])\n",
            "dict_keys(['input_ids', 'attention_mask', 'targets', 'review_text'])\n",
            "dict_keys(['input_ids', 'attention_mask', 'targets', 'review_text'])\n",
            "dict_keys(['input_ids', 'attention_mask', 'targets', 'review_text'])\n",
            "dict_keys(['input_ids', 'attention_mask', 'targets', 'review_text'])\n",
            "dict_keys(['input_ids', 'attention_mask', 'targets', 'review_text'])\n",
            "dict_keys(['input_ids', 'attention_mask', 'targets', 'review_text'])\n"
          ]
        }
      ],
      "source": [
        "for d in val_data_loader:\n",
        "    print(d.keys())\n",
        "    \n",
        "# dict_keys(['input_ids', 'attention_mask', 'targets', 'review_text'])"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 19,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "execution": {
          "iopub.execute_input": "2022-09-30T10:04:16.124623Z",
          "iopub.status.busy": "2022-09-30T10:04:16.124143Z",
          "iopub.status.idle": "2022-09-30T10:04:16.185353Z",
          "shell.execute_reply": "2022-09-30T10:04:16.184308Z",
          "shell.execute_reply.started": "2022-09-30T10:04:16.124586Z"
        },
        "id": "jWQZDfro7l56",
        "outputId": "2031cf3e-1eb6-4dad-86b1-eb066ec1cc79",
        "trusted": true
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "dict_keys(['input_ids', 'attention_mask', 'targets'])\n",
            "torch.Size([16, 160])\n",
            "torch.Size([16, 160])\n",
            "torch.Size([16])\n"
          ]
        }
      ],
      "source": [
        "#Testing to see if the data loader works appropriately\n",
        "data = next(iter(train_data_loader))\n",
        "\n",
        "print(data.keys()) # dict_keys(['input_ids', 'attention_mask', 'targets'])\n",
        "\n",
        "print(data['input_ids'].shape) # torch.Size([16, 512])\n",
        "\n",
        "print(data['attention_mask'].shape) # torch.Size([16, 512])\n",
        "\n",
        "print(data['targets'].shape) # torch.Size([16])"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "A4sQSt0UkoCu"
      },
      "source": [
        "# Model Utility Class"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "execution": {
          "iopub.execute_input": "2022-09-30T10:04:16.187337Z",
          "iopub.status.busy": "2022-09-30T10:04:16.186754Z",
          "iopub.status.idle": "2022-09-30T10:04:35.987311Z",
          "shell.execute_reply": "2022-09-30T10:04:35.986260Z",
          "shell.execute_reply.started": "2022-09-30T10:04:16.187291Z"
        },
        "id": "9grQh_PiVx62",
        "outputId": "ba5bf429-0bbd-441f-b8f9-7518e6aff99d",
        "trusted": true
      },
      "outputs": [],
      "source": [
        "model = SentimentClassifier(len(class_names))\n",
        "model = model.to(device)\n",
        "\n",
        "# Just An evaluation run of the model\n",
        "input_ids = data['input_ids'].to(device)\n",
        "attention_mask = data['attention_mask'].to(device)\n",
        "F.softmax(model(input_ids,attention_mask), dim = 1)\n"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "eqO39_ANkrlI"
      },
      "source": [
        "# Training"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 22,
      "metadata": {
        "code_folding": [
          9,
          30
        ],
        "execution": {
          "iopub.execute_input": "2022-09-30T10:04:36.007680Z",
          "iopub.status.busy": "2022-09-30T10:04:36.007068Z",
          "iopub.status.idle": "2022-09-30T10:04:36.018186Z",
          "shell.execute_reply": "2022-09-30T10:04:36.017247Z",
          "shell.execute_reply.started": "2022-09-30T10:04:36.007643Z"
        },
        "id": "VaVkCHUxfRh6",
        "trusted": true
      },
      "outputs": [],
      "source": [
        "EPOCHS = 10\n",
        "\n",
        "optimizer = optim.AdamW(model.parameters(), lr= 1e-5)\n",
        "\n",
        "total_steps = len(train_data_loader) * EPOCHS\n",
        "\n",
        "scheduler = get_linear_schedule_with_warmup(\n",
        "    optimizer, \n",
        "    num_warmup_steps = 0, \n",
        "    num_training_steps=total_steps)\n",
        "\n",
        "# For multi-class classification you would usually just use nn.CrossEntropyLoss \n",
        "loss_fn = nn.CrossEntropyLoss().to(device)\n"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "xASNu0l4kzAC"
      },
      "source": [
        "## Training Loop"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "execution": {
          "iopub.execute_input": "2022-09-30T10:04:36.052479Z",
          "iopub.status.busy": "2022-09-30T10:04:36.052189Z",
          "iopub.status.idle": "2022-09-30T10:17:21.965811Z",
          "shell.execute_reply": "2022-09-30T10:17:21.964611Z",
          "shell.execute_reply.started": "2022-09-30T10:04:36.052455Z"
        },
        "id": "0atMu0I8fD0J",
        "outputId": "3cd9e799-e5c3-4814-b343-d4b031c955a0",
        "scrolled": true,
        "trusted": true
      },
      "outputs": [],
      "source": [
        "%%time\n",
        "history = defaultdict(list)\n",
        "best_accuracy = 0\n",
        "\n",
        "for epoch in range(EPOCHS):\n",
        "    print(f'Epoch {epoch + 1}/ {EPOCHS}')\n",
        "    print('-'*15)\n",
        "    train_acc, train_loss = train_model(model, train_data_loader, loss_fn, optimizer, device, scheduler, len(df_train))\n",
        "    print(f'Train loss {train_loss} accuracy {train_acc}')\n",
        "\n",
        "    val_acc, val_loss = eval_model(model, val_data_loader, loss_fn, device, len(df_val))\n",
        "    print(f'Val loss {val_loss} accuracy {val_acc}')\n",
        "\n",
        "    history['train_acc'].append(train_acc)\n",
        "    history['train_loss'].append(train_loss)\n",
        "    history['val_acc'].append(val_acc)\n",
        "    history['val_loss'].append(val_loss)\n",
        "  \n",
        "    if val_acc>best_accuracy:\n",
        "        torch.save(model.state_dict(), 'best_model_state.bin')\n",
        "        best_accuracy = val_acc\n",
        "\n",
        "  "
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "i7NhCQLnk5F3"
      },
      "source": [
        "# Model Evaluation on test_data_loader"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 31,
      "metadata": {
        "code_folding": [
          1,
          25
        ],
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 733
        },
        "execution": {
          "iopub.execute_input": "2022-09-30T10:17:27.490861Z",
          "iopub.status.busy": "2022-09-30T10:17:27.490381Z",
          "iopub.status.idle": "2022-09-30T10:17:30.991203Z",
          "shell.execute_reply": "2022-09-30T10:17:30.990200Z",
          "shell.execute_reply.started": "2022-09-30T10:17:27.490809Z"
        },
        "id": "cuj1JI24NkJa",
        "outputId": "7195aa13-57de-4618-f883-3ca96dc579bc",
        "trusted": true
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "              precision    recall  f1-score   support\n",
            "\n",
            "      1-Star       0.70      0.55      0.61       100\n",
            "      2-Star       0.40      0.41      0.40       110\n",
            "      3-Star       0.45      0.38      0.41       231\n",
            "      4-Star       0.55      0.56      0.56       567\n",
            "      5-Star       0.63      0.68      0.65       492\n",
            "\n",
            "    accuracy                           0.56      1500\n",
            "   macro avg       0.54      0.52      0.53      1500\n",
            "weighted avg       0.56      0.56      0.56      1500\n",
            "\n"
          ]
        },
        {
          "data": {
            "image/png": "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peEDVSrxVIZ63jlZkuTi7KQGAb6K6NFaD9zZRxP+fqPaBAfq/6Z8ddEE8cOvzJW3Z8mVLnV8PBTaOkijb7tGA8Lb6dNJo/XUfxZp8+6jF41n6fp9tnjc3VzUrJG/bo4I1aihvfXOs3epVfNA/Xvmj2VyAQBwJWpdcvhievToodGjR+vTTz9VbGys9u3bp+7du0uScnNzy31eea0fwsPDFR4eLqkkybZ//36tXbtWX331lXJzc5WSkqKnnnpK33//faU/iP3nP//RnDlzLmlsRcnhZs2aVer1UXuZzWY9889/aP++SElS33799Y9/Pu3gqICax9XVVa3blL589ro+Ebp31N807qGx+mnFMh08sF+f/29+qZtoASirfYeOmjTlLb0y8QWdKSjQt4u+0reLvioz7q/33KcD+/cp6sB+SeV/VgOMLD/ztH79dqYkqcvgu6+okvdiexknZxf1GfUPJUfvV37maSVG7VJOWrJ86jWs9GsCVc1stijq6MlSj63ddkgfLfhZy/77hEYODlPP0OYaOHaqUk5nlztPXGJaqZ+3RcZo9reb9cpjt+r5hwZpxSdP6oGJ/7toa4nMnHxl5pxLRO/57YSWrN+nOd9u1rJPntDEcbeoa7smGvn0pySIAdjNxe+gVgtdf/31tuOoqCjbcY8ePcr9cync3d0VFham5557TkuWLLH18z106JB27dpVqViXLFliSwyHh4frvffe04oVK7R161bt3r1bu3fv1syZM23jz1YuX4iHB3cQxjnFxcV64dmntXHDeklS72uu1bvvf2jrhw3gygUEBGjylJJe8CeOx2nqe287OCKgZrjhpkGa99W3GjJ0mPz+VA7cvkNH/futd/XsCxOV98cX+87OzvKmpzdQxravPtaZ3GzVDQpW55vuqvLXc3HzUEjPfrafk6MPVPlrAlUhNT1HD0z8nySpdfNATf6/4ZWa57WPl2nXwTi5ubpo+sR7VMencnvyXVHH9dpHJTeyH/qXrho1tHel5gEqZqphf2AvhqscllSqB3B2dvnf/l2Jpk2b6qGHHrLdIO7gwYMKCwu77HkWLlwoqSRx/cUXX8jJqWw+/+zllMClslgsmvjic1q18idJUs+wXvpg+n/l7u7u4MiA2qdN23ZqHhyi43GxWrt6lV59fbJcXAz53y9wWUJatNRrk9+U1WpVWuop5ebmql69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DGTBggUMGjSIc+fOsWnTJjZt2nTbxw8cOJC9e/eSmZnJxIkTrbaVL1+eDRs2WN67urqyYMECxo4dy7p16zhx4gSffvrpDcu2t7fPN6AWGhpKfHw806ZNIyUlhWnTpjFt2jTLdoPBwNChQ8nMzLyn4LCLiwslS5YkKSmJs2fPsnDhQhYuXHjD/V1dXRk5cqRl5vf1bNE2bOmNN95gzJgxJCcnM27cOKttwcHBzJ8//x89/72wVVuylXbt2jFz5kyOHTvGr7/+yq+//mq1fd68eTRs2PAfO7+IiIhIYaPgsIiIiDy0WrVqRUhICMuWLWPz5s1ER0eTmJiIyWTCw8ODSpUqUadOHZo2bXrDgFGFChVYsWIFc+fOZe3atZw6dQqDwYCvry9t27bl5Zdfxs3NzSb1DQoKYt26dSxdupTff/+dmJgYkpKSsLOzw9vbG39/f1q0aMHTTz+d59iQkBAWLVrE3Llz+eOPP7h48SLp6ek3PJebmxtTp04lMjKS5cuXs3v3bs6fP8/Vq1dxdnbG29ubGjVq8MQTT9CmTRvKlCmTbzmvv/46ISEhzJkzh3379pGUlISnpyd169alV69eBAcHWwWM74avry/btm1j79697Nq1i8jISE6cOMHFixe5du0azs7OeHp6UqNGDRo1akSHDh3w9PS8aZm2aBu20rVrV8qUKcOiRYuIiooiISGBzMzMf/SctmSrtmQLzs7OLFq0iFmzZrFlyxZOnTpFamrqA5EPWURERORBZDDd6QofIiIiIiIiIiIiIlLoaUE6ERERERERERERkSJIwWERERERERERERGRIkjBYREREREREREREZEiSMFhERERERERERERkSJIwWERERERERERERGRIkjBYREREREREREREZEiSMFhERERERERERERkSJIwWERERERERERERGRIkjBYREREREREREREZEiSMFhERERERERERERkSJIwWERERERERERERGRIkjBYREREREREREREZEiSMFhERERERERERERkSJIwWERERERERERERGRIkjBYREREREREREREZEiSMFhERERERERERERkSJIwWERERERERERERGRIkjBYREREREREREREZEiSMFhERERERERERERkSLo/wFNYCZohW0HYQAAAABJRU5ErkJggg==",
            "text/plain": [
              "<Figure size 864x576 with 2 Axes>"
            ]
          },
          "metadata": {
            "image/png": {
              "height": 508,
              "width": 707
            }
          },
          "output_type": "display_data"
        }
      ],
      "source": [
        "def show_confusion_matrix(confusion_matrix):\n",
        "    hmap = sns.heatmap(confusion_matrix, annot=True, fmt=\"d\", cmap=\"Blues\")\n",
        "    hmap.yaxis.set_ticklabels(hmap.yaxis.get_ticklabels(), rotation = 0, ha='right')\n",
        "    hmap.xaxis.set_ticklabels(hmap.xaxis.get_ticklabels(), rotation = 30, ha='right')\n",
        "    plt.ylabel('True Sentiment')\n",
        "    plt.xlabel('Predicted Sentiment')\n",
        "\n",
        "y_review_texts, y_pred, y_pred_probs, y_test = get_predictions(model, test_data_loader)\n",
        "print(classification_report(y_test, y_pred, target_names=class_names))\n",
        "\n",
        "cm = confusion_matrix(y_test, y_pred)\n",
        "df_cm = pd.DataFrame(cm, index=class_names, columns = class_names)\n",
        "show_confusion_matrix(df_cm)"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 33,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "execution": {
          "iopub.execute_input": "2022-09-30T10:17:31.377571Z",
          "iopub.status.busy": "2022-09-30T10:17:31.377211Z",
          "iopub.status.idle": "2022-09-30T10:17:31.408543Z",
          "shell.execute_reply": "2022-09-30T10:17:31.407602Z",
          "shell.execute_reply.started": "2022-09-30T10:17:31.377537Z"
        },
        "id": "vrvFFMASWigO",
        "outputId": "3a8d36a5-22b9-4679-d9e6-6af424dfe796",
        "trusted": true
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "Review text: I could share photos seamlessly with this app\n",
            "Sentiment  : 5-Star\n"
          ]
        },
        {
          "name": "stderr",
          "output_type": "stream",
          "text": [
            "/usr/local/lib/python3.7/dist-packages/transformers/tokenization_utils_base.py:2308: FutureWarning: The `pad_to_max_length` argument is deprecated and will be removed in a future version, use `padding=True` or `padding='longest'` to pad to the longest sequence in the batch, or use `padding='max_length'` to pad to a max length. In this case, you can give a specific length with `max_length` (e.g. `max_length=45`) or leave max_length to None to pad to the maximal input size of the model (e.g. 512 for Bert).\n",
            "  FutureWarning,\n"
          ]
        }
      ],
      "source": [
        "review_text = \"I could share photos seamlessly with this app\"\n",
        "encoded_review = tokenizer.encode_plus(review_text, max_length=MAX_LEN, add_special_tokens=True, return_token_type_ids=False, pad_to_max_length=True, return_attention_mask=True,\n",
        "                                       truncation=True, return_tensors='pt')\n",
        "input_ids = encoded_review['input_ids'].to(device)\n",
        "attention_mask=encoded_review['attention_mask'].to(device)\n",
        "output = model(input_ids, attention_mask)\n",
        "_,prediction = torch.max(output, dim=1)\n",
        "\n",
        "print(f'Review text: {review_text}')\n",
        "print(f'Sentiment  : {class_names[prediction]}')\n",
        "\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 34,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "execution": {
          "iopub.execute_input": "2022-09-30T10:17:31.410676Z",
          "iopub.status.busy": "2022-09-30T10:17:31.410031Z",
          "iopub.status.idle": "2022-09-30T10:17:31.436679Z",
          "shell.execute_reply": "2022-09-30T10:17:31.435741Z",
          "shell.execute_reply.started": "2022-09-30T10:17:31.410642Z"
        },
        "id": "Ma6GjPBnA8Ta",
        "outputId": "6e9b1451-f999-43d3-f13a-e013394976da",
        "trusted": true
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "Review text: I could share photos seamlessly with this app, but the UI could be better\n",
            "Sentiment  : 3-Star\n"
          ]
        }
      ],
      "source": [
        "review_text = \"I could share photos seamlessly with this app, but the UI could be better\"\n",
        "encoded_review = tokenizer.encode_plus(review_text, max_length=MAX_LEN, add_special_tokens=True, return_token_type_ids=False, pad_to_max_length=True, return_attention_mask=True,\n",
        "                                       truncation=True, return_tensors='pt')\n",
        "input_ids = encoded_review['input_ids'].to(device)\n",
        "attention_mask=encoded_review['attention_mask'].to(device)\n",
        "output = model(input_ids, attention_mask)\n",
        "_,prediction = torch.max(output, dim=1)\n",
        "\n",
        "print(f'Review text: {review_text}')\n",
        "print(f'Sentiment  : {class_names[prediction]}')"
      ]
    }
  ],
  "metadata": {
    "accelerator": "GPU",
    "colab": {
      "collapsed_sections": [],
      "provenance": []
    },
    "kernelspec": {
      "display_name": "Python 3",
      "language": "python",
      "name": "python3"
    },
    "language_info": {
      "codemirror_mode": {
        "name": "ipython",
        "version": 3
      },
      "file_extension": ".py",
      "mimetype": "text/x-python",
      "name": "python",
      "nbconvert_exporter": "python",
      "pygments_lexer": "ipython3",
      "version": "3.9.14"
    },
    "varInspector": {
      "cols": {
        "lenName": 16,
        "lenType": 16,
        "lenVar": 40
      },
      "kernels_config": {
        "python": {
          "delete_cmd_postfix": "",
          "delete_cmd_prefix": "del ",
          "library": "var_list.py",
          "varRefreshCmd": "print(var_dic_list())"
        },
        "r": {
          "delete_cmd_postfix": ") ",
          "delete_cmd_prefix": "rm(",
          "library": "var_list.r",
          "varRefreshCmd": "cat(var_dic_list()) "
        }
      },
      "types_to_exclude": [
        "module",
        "function",
        "builtin_function_or_method",
        "instance",
        "_Feature"
      ],
      "window_display": false
    },
    "vscode": {
      "interpreter": {
        "hash": "36cf16204b8548560b1c020c4e8fb5b57f0e4c58016f52f2d4be01e192833930"
      }
    }
  },
  "nbformat": 4,
  "nbformat_minor": 0
}
